Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包

简介:

一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path….将依赖包添加到工程中后,eclipse不报错了。但是用Maven命令 mvn clean compile 时出错如下:

1

原因是在eclipse中添加了 exteneral jar后,还需要在maven中再添加依赖的jar包

 

Maven手动添加第三方依赖包有两种方法:

参考:maven 添加第三方依赖              maven中把依赖的JAR包一起打包

第一种方法是使用Maven命令添加,另一种方法则是修改pom.xml文件添加。

现介绍修改pom.xml文件添加:假设我的依赖包在C:\Users\xxx\Desktop\storm.starter\storm.starter\lib\datasource.jar

在pom.xml中添加dependency如下:

复制代码
<dependency>
            <groupId>com.my.test</groupId>
            <artifactId>datasource</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>C:\Users\xxx\Desktop\storm.starter\storm.starter\lib\datasource.jar</systemPath>
        </dependency>
复制代码

再重新编译即可成功,会在项目的根目录下生成 target\classes 目录,里面就是生成的各种 .class 文件

 

再运行, mvn clean package 就可以将所有的编译好的 .class 文件打成 jar包了。但是,这里貌似没有解决代码中存在依赖第三方jar包的问题。???

可以使用maven-assembly-plugin插件将工程依赖的jar都一起打包,在pom.xml中添加配置如下:

复制代码
<build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
复制代码

这时,Maven将会自动地根据 <dependency> </dependency>中的 <scope> </scope>参数来决定将哪些依赖的jar包也一起打包。

 

另外,用Maven编译运行项目的一些知识参考:Maven编译代码的相关命令

 

二,在命令行中编译JAVA文件。假设 Test.java 存放在 com\my\test\Test.java ,且 Test.java 源代码里面的package语句: package com.my.test;

编译 :         javac  com\my\test\Test.java

打jar包:     jar cvf  test.jar  com\test\my\Test.class

 

查看jar包中的内容:   jar vtf  test.jar


本文转自hapjin博客园博客,原文链接:http://www.cnblogs.com/hapjin/,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章