繁体   English   中英

如何从现有的Java项目中提取主类?

[英]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.batmake-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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM