Tag: maven 2

在WAR的WEB-INF / lib文件夹中重命名Maven依赖项

我需要在Maven生成的WAR的WEB-INF/lib文件夹中有一个JAR依赖项x-1.0.final.jar而不是x-1.0.jar ,它是它在存储库中的名称。 实现这一目标的最佳方法是什么? 在我的POM中,我有: foo x 1.0 我希望它以x-1.0.final.jar出现在WEB-INF/lib文件夹中。 这是对Maven Central的外部依赖我无法控制。 此外,我不想强​​迫所有人使用它将依赖项重新部署到其本地存储库。 是否有我可以使用的Maven插件或者我应该开始编写自己的插件?

Intellij社区不能为Maven使用http代理

我在一个Linux机器上安装了Intellij IDEA社区,需要使用经过身份validation的代理来访问Internet。 我在盒子上有一个系统范围的代理,我在〜/ .m2 / settings.xml中配置了代理。 当我从命令行运行时,Maven正确使用代理。 我在Intellij中配置了相同的代理,它为我提供了正确的插件列表。 但是当我尝试使用Intellij与Maven存储库同步时,我会继续这样做: [WARNING] Unable to get resource ‘org.codehaus.mojo:hibernate3-maven-plugin:pom:2.2’ from repository restlet (http://maven.restlet.org): Authorization failed: Not authorized by proxy. 我去了Settings-> Maven并将代理信息作为属性放入,但是没有用。 通过查看Intellij正在读取我的〜。/ m2 / settings.xml的那些设置,我可以看到,因为它知道我的本地仓库在哪里(它在非标准位置)。 任何人都知道如何让这个工作?

如何使用Maven在EAR中添加WAR

我有一个应用程序的EAR,我需要使用我自己的代码扩展这个应用程序,该代码打包为WAR。 是否有maven插件可以帮助我将WAR放入EAR? 手动过程是将WAR放入EAR并将模块添加到application.xml。 我想自动化。 编辑:小澄清 – WAR项目使用maven但是对于EAR我只有二进制文件了。

创建名为’sessionFactory’的bean时出错:MalformedParameterizedTypeException

任何建议都会得到赞赏。 我很难过…… 问题 在我的笔记本电脑上,只要我们的应用程序尝试加载application-config.xml,我就会得到一个java.lang.reflect.MalformedParameterizedTypeException。 完全相同的代码适用于我的桌面和我的同事的台式机/笔记本电脑。 但是在我的笔记本电脑上它会抛出这个错误。 由于我的笔记本电脑和台式机完全相同的开发环境(Mac OS X Leopard上的Eclipse中的Java 1.6 Maven项目),我通过执行以下操作缩小了原因: 检查了Subversion的一个新项目(所以没有代码差异) 复制并替换我的整个Eclipse目录(因此没有Eclipse版本/插件差异) 复制并替换我的整个.m2目录(因此没有maven /项目依赖性差异) 什么可能导致这个错误在一个地方而不是另一个? 下面是相关bean的片段和错误…… 代码段:application-config.xml … … … … … com.saic.gnosis.model com.saic.gnosis.model.observable false 2 9 10 0 代码段:JUnit错误跟踪: java.lang.ExceptionInInitializerError at com.saic.gnosis.updater.task.ConnectionCommandFileWriterTask.(ConnectionCommandFileWriterTask.java:16) at com.saic.gnosis.updater.CiscoDeviceConfiguratorTest.initializeSpyObjects(CiscoDeviceConfiguratorTest.java:120) at com.saic.gnosis.updater.CiscoDeviceConfiguratorTest.initializeTestObjects(CiscoDeviceConfiguratorTest.java:110) at com.saic.gnosis.updater.CiscoDeviceConfiguratorTest.setUp(CiscoDeviceConfiguratorTest.java:105) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at […]

在maven中处理Web项目的非常规源目录

我inheritance了一个目前在eclipse中构建的web项目(Servlets)。 我想在它周围添加maven。 但该项目的源目录不遵循maven约定。 它不是在src / main / java里面,而是src / package / name / … 我现在不想改变任何事情,因为他们正在全力以赴地迈向里程碑。 我可以配置maven接受src /作为java源目录吗? 谢谢

Hibernate 3.4与slf4j和log4j

我正在尝试从Hibernate 3.2升级到3.4,这显然使用了slf4j。 我们的项目目前使用log4j。 所以我的假设是我应该使用slf4j-log4j12包装实现。 Maven slf4j依赖是: org.slf4j slf4j-log4j12 1.5.6 而log4j依赖是: log4j log4j 1.2.15 slf4j-log4j12和log4j都引用了最新版本(我可以在Maven存储库中找到)。 当我运行我的应用程序时,Hibernate的日志记录失败: java.lang.NoSuchFieldError: name at org.slf4j.impl.Log4jLoggerAdapter.(Log4jLoggerAdapter.java:75) at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:75) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:103) at org.hibernate.cfg.Configuration.(Configuration.java:163) … 我错过了什么? 编辑1:如果我从我的pom.xml中删除了log4j依赖项,我收到错误: java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory at org.slf4j.LoggerFactory.(LoggerFactory.java:60) at org.hibernate.cfg.Configuration.(Configuration.java:163) … 编辑2: 此博客声称问题是由使用错误版本的slf4j-api.jar的hibernate注释引起的。

Maven2依赖关系和本机库

我有一个Java项目,我使用Maven2和汇编插件来帮助编译和打包,有很多依赖项,所以它很难管理,特别是因为我对Maven很新。 无论如何,我正在使用一个Java库,它有一个附带的本机Windows库(DLL),我试图找出如何将本机库指定为依赖项或其他东西,以便它存在于路径上,我的应用程序可以使用该库在运行时。

如何使用Maven“shade”插件将Apache CXF应用程序打包到单片JAR中

我正在编写一个基于控制台的Java应用程序,旨在由cron以批处理方式运行。 批处理应用程序使用Apache CXF框架为JAX-WS调用SOAP Web服务。 为了简化部署并防止CLASSPATH问题,我想将应用程序(及其所有依赖项)捆绑到一个单一的JAR文件中…使用Maven的“shade”插件 。 当我从Eclipse工作区运行它时,我的应用程序工作正常。 但是,当我尝试执行着色的JAR文件时,我得到一个堆栈跟踪,如下所示: org.apache.cxf.service.factory.ServiceConstructionException: Could not resolve a binding for null at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createBindingInfo(AbstractWSDLBasedEndpointFactory.java:404) at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpointInfo(AbstractWSDLBasedEndpointFactory.java:258) at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:146) at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52) at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102) at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115) at com.example.gui.domain.Session.getService(Session.java:145) at com.example.gui.domain.service.soap.AbstractServiceImpl.(AbstractServiceImpl.java:23) at com.example.gui.domain.service.soap.GetUserConsoleOrgsImpl.(GetUserConsoleOrgsImpl.java:14) at com.example.gui.domain.service.ServiceFactory.getGetUserConsoleOrgsService(ServiceFactory.java:443) at com.example.gui.domain.AccessManager.getOrgs(AccessManager.java:62) at com.example.gui.windows.ConsoleApplet.login (ConsoleApplet.java:1253) at com.example.gui.windows.ConsoleApplet.init(ConsoleApplet.java:1227) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: org.apache.cxf.BusException: No binding factory […]

在WAR-File中定义Servlet上下文

如何在给出我的WAR-File时告诉Tomcat使用特定的上下文路径? 示例:我有一个由maven build创建的war文件,结果文件的名称相当长。 所以我不希望tomcat管理器应用程序使用war的文件名作为上下文。 在META-INF中提供context.xml不会产生所需的结果 我还在Context的path属性的文档中找到了这个: 除非在server.xml中静态定义Context,否则不得设置此字段的值,因为它将从用于.xml上下文文件或docBase的文件名中推断出来。 所以它似乎不是告诉应用程序服务器应该是什么路径的正确方法。 还有什么提示吗?

Maven:编译包含Java 1.6源的aspectj项目

主要问题 我想做的事情相当容易。 或者你会想。 但是,没有任何工作正常。 要求:使用maven,使用AspectJ编译器编译Java 1.6项目。 注意:我们的代码无法使用javac进行编译。 也就是说,如果未编入方面,则编译失败(因为我们有方面可以软化exception)。 2011年 2月21日更新:有两个同样可行的解决方案(两种情况都使用aspectj-maven-plugin与maven-compiler-plugin结合 ): 将false到编译器插件中(感谢Pascal Thivent ) 将process-sources到aspectj编译器插件中(感谢Andrew Swan ) 有关这些解决方案的更多信息,请参阅答案部分。 我认为解决方案#2是更好的方法。 相关问题 问题(基于以下失败的尝试): 如何让maven运行aspectj:直接编译目标,而不运行compile:compile? 你怎么忽略编译的失败:编译? 你如何指定一个指向你自己的ajc编译器的自定义compilerId(即make compile:compile使用除了plexus之外的aspectj编译器)?* 感谢您的任何建议。 这些是我尝试过的导致我的问题/问题的事情: 尝试1(失败):指定aspectJ作为maven-compiler-plugin的编译器: org.apache.maven.plugins maven-compiler-plugin 2.2 1.6 1.6 aspectj org.codehaus.plexus plexus-compiler-aspectj 1.8 这失败并出现错误: org.codehaus.plexus.compiler.CompilerException: The source version was not recognized: 1.6 无论我使用的是什么版本的plexus编译器(1.8,1.6,1.3等),这都行不通。 我实际上阅读了源代码,发现这个编译器不喜欢Java 1.5以上的源代码。 尝试2(失败):使用附加到编译和测试编译目标的aspectJ-maven-plugin: org.codehaus.mojo aspectj-maven-plugin 1.3 1.6 1.6 […]