這是一個快速和骯髒的DOS方式。創建一個文件夾並將其放入其中。
>md test
>cd test
的prepare-tests.bat
和make-classpath.bat
文件複製WAR文件,該文件夾中。
其中prepare-tests.bat
是:
md unpacked
cd unpacked
jar xvf ..\%1
cd WEB-INF\classes
jar cvf ..\..\..\classes.jar *
cd ..\..\..
call make-classpath
而且make-classpath.bat
是:
@echo off
<nul set /p =set CLASSPATH=.;> set-classpath.bat
<nul set /p =classes.jar;>> set-classpath.bat
for /f %%a IN ('dir unpacked\WEB-INF\lib *.jar /s/b') do <nul set /p =%%a;>> set-classpath.bat
基本上,這些步驟將解包WAR,JAR高戰爭類(如果有的話),並創建一個類路徑點到那些類以及WEB-INF/lib
文件夾中的所有JAR。
然後,您可以運行測試(從創建的test
文件夾中):
>prepare-tests my-war.war
>set-classpath
>java com.foo.bar.MyTest
你會好得多使用像Maven和JUnit工具來自動化/雖然方便您的測試。
你問如何創建一個罐子?如何使用jar命令? –
嗯,我很喜歡Java(C#/ Ruby開發人員),所以我想是的。我可以創建大量的WAR文件以部署到我們的Web服務器,但我需要將它的一部分(main.java類)提取到單獨的JAR文件中。謝謝 – cbmeeks
如您所說,main.java類用於測試其他類。所以他們可能依賴所有其他類。因此,您應該創建一個包含所有類的單個jar文件。組織中沒有人知道Java如何工作?必須有一些構建過程來生成war文件,並且應該更新此構建過程以生成jar文件。 –