Java EE:NoClassDefFoundError org.joda.time.DateTime与IntelliJ和Maven
我正在使用Intellij14 我想在我的项目中添加joda.time lib。 当我手动添加这个库(将jar文件复制到库存储库中,并在项目结构中添加引用)时,一切都很好,我可以在servlet中使用该库,并在jsp中显示结果 但在第二步中,我创建了相同的项目,但我使用了maven和pom.xml文件。我添加此依赖项:Java EE:NoClassDefFoundError org.joda.time.DateTime与IntelliJ和Maven,java,maven,intellij-idea,jodatime,Java,Maven,Intellij Idea,Jodatime,我正在使用Intellij14 我想在我的项目中添加joda.time lib。 当我手动添加这个库(将jar文件复制到库存储库中,并在项目结构中添加引用)时,一切都很好,我可以在servlet中使用该库,并在jsp中显示结果 但在第二步中,我创建了相同的项目,但我使用了maven和pom.xml文件。我添加此依赖项: <dependencies> <dependency> <groupId>joda-time</groupId&
<dependencies>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.1</version>
</dependency>
</dependencies>
项目完全相同,我只是使用Maven来使用lib
你有什么想法吗
例如,我的Servlet第47行:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
DateTime dt = new DateTime();
Integer jourDuMois = dt.getDayOfMonth();
}
问题更可能是在部署项目时没有包括joda time jar。您可以解压缩war文件,看看它是否在那里。我使用Eclipse,它安装Maven插件。因此,当我导出Maven项目时,所有Maven管理的jar都将包含在war中。问题更可能是,在部署项目时,joda time jar没有包含在内。您可以解压缩war文件,看看它是否在那里。我使用Eclipse,它安装Maven插件。因此,当我导出Maven项目时,所有Maven管理的jar都将包含在war中。如果
打包类型
被显式设置为war
,您应该检查pom.xml
。如果没有,maven将不会使用maven war插件将您的应用程序与所有引用的库正确绑定,例如,joda time
因此,你应该:
<packaging>war</packaging>
战争
另见参考:
如果
包装类型
明确设置为war
,则应检查pom.xml
。如果没有,maven将不会使用maven war插件将您的应用程序与所有引用的库正确绑定,例如,joda time
因此,你应该:
<packaging>war</packaging>
战争
另见参考:
谢谢MWiesner,你的回答。它起作用了 我找到了另一个解决方案:
- 在IntelliJ/项目结构(F4键)/工件中
- 在右边(可用元素)有joda时间库,我必须双击它来传输工件中的库
我不知道在maven导入lib时IntelliJ是否可以自动执行该操作 谢谢MWiesner,你的回答。它起作用了 我找到了另一个解决方案:
- 在IntelliJ/项目结构(F4键)/工件中
- 在右边(可用元素)有joda时间库,我必须双击它来传输工件中的库
我不知道在maven导入lib时IntelliJ是否可以自动执行该操作请考虑我的答案的赞成票,如果它解决了你的问题。请点击我的答案的左箭头:请考虑我的答案的投票,如果它解决了你的问题。请点击我的答案左上角箭头:请:如果你激活“启用自动导入”的Maven集成的特点在因特利利,然后库/依赖项应与pom.xml和Intellij项目格式自动同步在Maven设置中启用自动导入。此选项会自动在“模块”和“库”选项卡中添加库,但不会在“工件”中添加。我不知道为什么这也是我的解决方案。如果您在IntelliJ中激活maven集成的“启用自动导入”功能,然后库/依赖项应与pom.xml和Intellij项目格式自动同步在Maven设置中启用自动导入。这个选项会自动在“模块”和“库”选项卡中添加库,但不会在“工件”中添加库。我不知道为什么这也是我的解决方案