java – 将slf4j与maven集成
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 将slf4j与maven集成,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2032字,纯文字阅读大概需要3分钟。
内容图文
![java – 将slf4j与maven集成](/upload/InfoBanner/zyjiaocheng/794/b5d4ad6f3b5e433e8f8729420082aad8.jpg)
大家好,我是Maven的新手,我正在尝试将slf4j集成到一个maven项目中
这是我的pom.xml文件
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.9</version>
</dependency>
我的主要功能中有这两行
Logger logger = LoggerFactory.getLogger(App.class);
logger.info("Hello World");
项目已成功编译和打包,但是当我尝试运行它时
通过
java -cp target / maven-1.0-SNAPSHOT.jar com.goutam.maven.App
抛出以下异常
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at com.goutam.maven.App.main(App.java:11)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
解决方法:
我不喜欢建造肥胖罐子的想法,因为我们在这种方法中失去了一些灵活性.
相反,它会在maven中提倡copy-dependencies plugin.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.9</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
将它与maven-jar-plugin连接起来.有关详情,请阅读this.
假设第三方依赖项被复制到target / lib文件夹中.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.5</version>
<configuration>
<archive>
<manifest>
<mainClass>main class</mainClass>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
内容总结
以上是互联网集市为您收集整理的java – 将slf4j与maven集成全部内容,希望文章能够帮你解决java – 将slf4j与maven集成所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。