[英]How do I extract a main class from an existing Java project?
我有一个也使用Hibernate的大型Struts1 Web项目。
我们的软件包之一是:
com.company.examples.users
。
另一个是:
com.company.examples.orders
。
这些软件包中的每个软件包中都有一个main.java
文件,该文件用于测试(实际上是从Netbeans中运行该文件)。
因此,我可以右键单击主文件并告诉其运行,然后输出将显示在日志窗口中。 那也行。 但是我希望能够将它们提取到实际的JAR文件中,以便可以单独运行它们。
这些文件还依赖于整个更大的项目。 很多包装等
我怎样才能做到这一点?
这是一种快速而肮脏的剂量方式。 创建一个文件夹并cd
进入该文件夹。
>md test
>cd test
将您的WAR文件, prepare-tests.bat
和make-classpath.bat
文件复制到该文件夹中。
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,压缩WAR的类(如果有),并创建一个指向这些类以及WEB-INF/lib
文件夹中所有JAR的类路径。
然后,您可以通过以下方式运行测试(在创建的test
文件夹中):
>prepare-tests my-war.war
>set-classpath
>java com.foo.bar.MyTest
但是,使用Maven和JUnit之类的工具来自动化/简化测试会更好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.