如何在maven jar

时间:2017-11-13 02:17:18

标签: java maven

我有两个问题:

1)我已经构建了一个maven项目,当我想在服务器上部署jar时,它会显示一些与找不到驱动程序有关的错误。然后我反编译我的jar,发现依赖数据库jar jconn jar不在那里。但我在我的代码中有那个jar,我在我的pom.xml中使用以下来获取我的jar的依赖jar,但它仍然无法获得依赖jar。在某处,我读了stackoverflow以将以下内容添加到我的pom.xml

<artifactId>maven-assembly-plugin</artifactId>
      <configuration>
        <archive>
          <manifest>
    <addClasspath>true</addClasspath>
<classpathPrefix>./</classpathPrefix>
            <mainClass>com.launcher.Main</mainClass>
  </manifest>
        </archive>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
      </configuration>
    </plugin>​

仍然它给出了相同的东西,并且在反编译时jconn jar不在jar中。请帮忙。

2)我在属性文件中有一些键值对,值以逗号分隔的形式。我想在列表中获取该键的所有值。我怎样才能做到这一点。请帮忙

1 个答案:

答案 0 :(得分:1)

要将其他罐子包括在你自己的(它叫做uber jar)你可以使用maven shade plugin

他们的文档示例:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.1.0</version>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>shade</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

它将创建两个罐子。原始的只有你的内容和超级与所有其他罐子。可以过滤将包含的内容。有关更多示例,请查看:

https://maven.apache.org/plugins/maven-shade-plugin/

https://maven.apache.org/plugins/maven-shade-plugin/examples/includes-excludes.html