mvn package方法打包注入依赖解决方法

来源:互联网 发布:网页注入js代码 编辑:程序博客网 时间:2024/05/29 08:31

方法一:将jar包和项目打在一起

1.修改pom根节点下packaging属性为jar
2.修改pom根节点下build为:

<build>        <plugins>            <plugin>                <artifactId>maven-assembly-plugin</artifactId>                <configuration>                    <descriptorRefs>                        <descriptorRef>jar-with-dependencies</descriptorRef>                    </descriptorRefs>                    <archive>                        <manifest>                            <mainClass>com.hbase2Redis.Hbase2Redis</mainClass>                            //这个是打包程序的主程序类                        </manifest>                    </archive>                </configuration>                <executions>                    <execution>                        <id>make-assembly</id>                        <phase>package</phase>                        <goals>                            <goal>single</goal>                        </goals>                    </execution>                </executions>            </plugin>        </plugins>    </build>

3.使用mvn install 打包,将在target下生成项目jar包xxx-with-dependencies.jar复制出来,执行java -jar xxx-with-dependencies.jar即可运行

方法二:将jar包和项目分离

1.修改pom根节点下packaging属性为jar
2.修改pom根节点下build为:

<build>        <finalName>Hbase2Redis</finalName>        <pluginManagement>            <plugins>                <plugin>                    <groupId>org.eclipse.m2e</groupId>                    <artifactId>lifecycle-mapping</artifactId>                    <version>1.0.0</version>                    <configuration>                        <lifecycleMappingMetadata>                            <pluginExecutions>                                <pluginExecution>                                    <pluginExecutionFilter>                                        <groupId>org.apache.maven.plugins</groupId>                                        <artifactId>maven-dependency-plugin</artifactId>                                        <versionRange>[2.0,)</versionRange>                                        <goals>                                            <goal>copy-dependencies</goal>                                        </goals>                                    </pluginExecutionFilter>                                    <action>                                        <ignore />                                    </action>                                </pluginExecution>                            </pluginExecutions>                        </lifecycleMappingMetadata>                    </configuration>                </plugin>            </plugins>        </pluginManagement>        <plugins>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-jar-plugin</artifactId>                <version>2.4</version>                <configuration>                    <archive>                        <manifest>                            <addClasspath>true</addClasspath>                            <classpathPrefix>lib/</classpathPrefix>                            <!-- 主方法所在类名 -->                            <mainClass>com.hbase2Redis.Hbase2Redis</mainClass>                        </manifest>                    </archive>                </configuration>            </plugin>            <!-- 将依赖包放到lib文件夹中 -->            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-dependency-plugin</artifactId>                <executions>                    <execution>                        <id>copy</id>                        <phase>package</phase>                        <goals>                            <goal>copy-dependencies</goal>                        </goals>                        <configuration>                            <outputDirectory>                                ${project.build.directory}/lib                            </outputDirectory>                        </configuration>                    </execution>                </executions>            </plugin>        </plugins>    </build>

3.使用mvn install 打包,将在target下生成项目jar包xxx.jar及lib文件夹,将这两者放在同一目录下,执行java -jar xxx.jar即可运行。

1 0