需要自己写一些小工具实现一些功能时,如果不通过包管理插件进行处理,就需要花一部分时间去管理jar依赖,比如需要用到poi相关的功能等,导致无法集中精力实现核心逻辑;
 所以还是推荐使用maven等插件进行管理,十分方便。但是在使用过程中遇到一些问题,罗列如下,并附上解决对应问题的配置。
以此记录对应配置,以供后续使用参考。
比如maven编译报错,则指定编译使用的jdk版本即可:
use -source 7 or higher to enable diamond operator1. mvn编译打包指定jdk版本
 2. 将依赖的jar包一起打包
 3. 将配置文件等一起打包
    <dependencies>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.4</version>
        </dependency>
    </dependencies>
    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                    <include>**/readme.txt</include>
                </includes>
                <!-- 是否替换资源中的属性-->
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <!--这里要替换成jar包main方法所在类 -->
                            <mainClass>com.test.Test</mainClass>
                        </manifest>
                        <manifestEntries>
                            <Class-Path>.</Class-Path>
                        </manifestEntries>
                    </archive>
                    <!--将依赖打在一起-->
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id> <!-- this is used for inheritance merges -->
                        <phase>package</phase> <!-- 指定在打包节点执行jar包合并操作 -->
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>查看jar内容,可以看到resources下文件已经包含:

java -jar 执行效果:

 
                   
                   
                   
                   
                             文章讲述了在开发过程中,使用Maven管理jar依赖的重要性,以避免手动管理的困扰。同时,作者列举了遇到的Maven编译错误及解决方案,如指定JDK版本,并分享了如何配置Maven来打包项目,包括一起打包依赖的jar包和资源文件,确保项目运行所需的内容完整。
文章讲述了在开发过程中,使用Maven管理jar依赖的重要性,以避免手动管理的困扰。同时,作者列举了遇到的Maven编译错误及解决方案,如指定JDK版本,并分享了如何配置Maven来打包项目,包括一起打包依赖的jar包和资源文件,确保项目运行所需的内容完整。
           
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   2849
					2849
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            