将java工程打包为jar文件,工程里面写有一个java程序,程序里面有main函数,既可以通过参数进行调用,而该java程序依赖其它包,现希望将java程序连通依赖包一起打包成一个jar,这样可以通过windows命令行进行访问和操作,具体如下:
1.参考https://blog.csdn.net/itsenlin/article/details/51419639中章节1的说明,修改工程所在的pom.xml文件,加入如下黄色区域的代码,另外修改红色字体的部分,红色部分表示的是main文件所在的路径
<build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <systemPropertyVariables> <java.util.logging.config.file>src/test/resources/logging.properties</java.util.logging.config.file> </systemPropertyVariables> </configuration> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>com.itsenlin.Helloworld</mainClass> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <!-- this is used for inheritance merges --> <phase>package</phase> <!-- bind to the packaging phase --> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
2.已知程序中安装有maven,可以使用maven打包,在IDEA工程中打开Maven projects》待打包的工程(假使工程中含有多个多个子工程,而现在只想打包其中一个子工程)》Lifecycle》双击package,即开始了包的生成,成功后在工程目录里面会有jar文件
3.选择-with-dependencies结尾的jar文件,输入命令java -jar xxx.jar 参数1 参数2即可以调用文件