0

我想从 github 下载最新版本的 Dozer mapper,但我没有找到任何 jar。

有 pom.xml 文件,我尝试用 command 编译mvn package。我还将每个依赖项添加到 pom.xml 文件中。它创建了dozer-5.5.0-SNAPSHOT.jar.

接下来我将这个 jar 导入到我的项目中,但它抛出了我java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory的 .

我还尝试在 netbeans 中创建 POM 项目并使用依赖项进行构建。导入我的项目后,它抛出了同样的异常。

我对maven没有任何经验。如何获得正确的 JAR 文件?

4

4 回答 4

1

猜猜你dozer-package有依赖slf4j,对吧?

然后你应该检查这个 Maven-Plugin:Maven-Assembly-Plugin

这会将您所需的依赖项放入 jar 中。

在这里你可以阅读,如何使用它

<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    version>2.4</version>
    <configuration>
      <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
      <archive>
        <manifest>
        <mainClass>your.main.class</mainClass>
        </manifest>
      </archive>
    </configuration>
    <executions>
      <execution>
       <phase>package</phase>
         <goals>
        <goal>single</goal>
         </goals>
      </execution>
    </executions>
  </plugin>
</plugins>

如果您希望在调用时始终执行 assemby-plugin,请将mvn clean package 其添加到您的 maven-assembly-plugin:

 <executions>
      <execution>
        <id>make-assembly</id> <!-- this is used for inheritance merges -->
        <phase>package</phase> <!-- bind to the packaging phase -->
        <goals>
          <goal>single</goal>
        </goals>
      </execution>
 </executions>
于 2012-12-23T12:38:16.800 回答
0

你有一个正确的罐子。使用 dozer 简单地将 commons-beanutils lang 和 slf4j 添加到您的项目中,或者将此库添加为 maven 依赖项。

于 2013-01-10T14:24:46.160 回答
0

Jars required for Dozer dependency.

enter image description here

于 2016-04-04T08:53:27.290 回答
-1

Make the entry in pom.xml file.Make sure the required Jars are present.

  <dependency>
        <groupId>net.sf.dozer</groupId>
        <artifactId>dozer</artifactId>
        <version>5.3.1</version>
    </dependency>
      <properties>
<osgi.version>4.3.0</osgi.version>

于 2016-04-04T08:48:53.407 回答