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

posted @ 2015-07-10 17:26  大熊猫同学  阅读(5593)  评论(0编辑  收藏  举报