Advertisement
Guest User

Untitled

a guest
Apr 1st, 2016
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.44 KB | None | 0 0
  1. @ECHO OFF
  2. SETLOCAL enabledelayedexpansion
  3. REM Create a Jar file for Tomcat including the folder structure
  4. REM Written by Segi Hovav 03-01-2016
  5. REM
  6. REM Needs 1 parameter, the Java class name without the extension
  7.  
  8. REM Set this to the location of javac
  9. SET JDKPATH=C:\Program Files\Java\jdk1.8.0_60\bin
  10.  
  11. REM Set this to the location of the lib folder, usually ufs\WEB-INF\lib
  12. SET UFSLIB=
  13.  
  14. REM DO NOT MODIFY ANYTHING BELOW THIS LINE
  15.  
  16. REM Validate that a parameter was provided
  17. IF "%1"=="" (
  18. ECHO Error! Please specify the name of the class file without the extension
  19. GOTO END
  20. )
  21.  
  22. REM Validate that it refers to a Java source code file
  23. IF NOT EXIST "%1.java" (
  24. ECHO Error! Please specify the name of a valid Java file
  25. GOTO END
  26. )
  27.  
  28. REM Call function to parse the Java source file for the package name
  29. CALL :getPackageName %1
  30.  
  31. REM If the function couldn't determine the package name, exit
  32. IF "%packagename%" == "" (
  33. ECHO Error! Unable to determine the name of the package from %1.java
  34. GOTO END
  35. )
  36.  
  37. REM Create variable with the folder name for the Jar file based on the package by replacing the dot in the package name with \
  38. SET ReplaceChar=\
  39. set FOLDERNAME=%packagename:.=!ReplaceChar!%
  40.  
  41. REM Compile the Java source
  42. "%JDKPATH%"\javac %1.java
  43.  
  44. REM If an error occurred display message and quit
  45. IF NOT %ERRORLEVEL% == 0 (
  46. ECHO An error occurred compiling the Java file
  47. GOTO :END
  48. )
  49.  
  50. REM Create the folder for the jar archive if it doesnt exist
  51. IF NOT EXIST %FOLDERNAME% MKDIR %FOLDERNAME%
  52.  
  53. REM Copy the java class to the package folder
  54. copy %1.class %FOLDERNAME% > nul
  55.  
  56. REM If an error occurred display message and quit
  57. IF NOT %ERRORLEVEL% == 0 (
  58. ECHO An error occurred copying the Java class to the folder %FOLDERNAME%
  59. GOTO :END
  60. )
  61.  
  62. REM Create the jar archive
  63. IF EXIST %1.jar DEL %1.jar
  64. "%JDKPATH%"\jar cvf %1.jar %FOLDERNAME% > nul
  65.  
  66. REM If an error occurred display message and quit
  67. IF NOT %ERRORLEVEL% == 0 (
  68. ECHO An error occurred creating the jar file
  69. GOTO :END
  70. )
  71.  
  72. REM Copy the jar archive to the resulting location if specified
  73. IF DEFINED %UFSLIB (
  74. copy %1.jar "%UFSLIB" > nul==
  75.  
  76. IF NOT %ERRORLEVEL% == 0 (
  77. ECHO An error occurred copying the jar file to the folder "%UFSLIB"
  78. GOTO :END
  79. )
  80.  
  81. echo Please restart the Ebase Server
  82. ) ELSE (
  83. echo Please copy %1.jar to your webapps\WEB-INF\lib folder and restart Ebase
  84. )
  85.  
  86. REM Cleanup
  87. IF EXIST %1.class del %1.class
  88. REM IF EXIST %1.jar del %1.jar
  89.  
  90. REM Parse the package
  91. for /f "tokens=1,2,3,4 delims=\ " %%a in ("%FOLDERNAME%") do SET parentFolder=%%a
  92. IF NOT %parentFolder% == "" rmdir /S /Q %parentFolder%
  93.  
  94. :END
  95. EXIT /B %ERRORLEVEL%
  96.  
  97. REM Function to parse the Java source file and returns the package name
  98. :getPackageName
  99.  
  100. REM Parse the Java file for the package
  101. type %1.java | find "package" > temp.txt
  102.  
  103. REM Store the results in a variable. At this point it will contain package PACKAGENAME;
  104. SET /p packagename=<temp.txt
  105.  
  106. REM Create temporary batch file named package.bat which will have the package name be the first parameter of the batch file
  107. echo @echo off > package.bat
  108. echo echo %%1 >> package.bat
  109.  
  110. REM execute and store the results in the temp file
  111. cmd /c %packagename% > temp.txt
  112.  
  113. REM Assign the package name to packagename
  114. set /p packagename=<temp.txt
  115.  
  116. REM delete all temporary files
  117. del package.bat
  118. del temp.txt
  119. EXIT /B 0
  120.  
  121. ENDLOCAL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement