使用Maven将JavaEE项目部署为jar,并执行DI
我刚刚开发了一个示例JavaEE7应用程序。 代码如下:使用Maven将JavaEE项目部署为jar,并执行DI,java,maven,jakarta-ee,ejb,Java,Maven,Jakarta Ee,Ejb,我刚刚开发了一个示例JavaEE7应用程序。 代码如下: @Stateless @LocalBean public class Foo { @Inject private Boo boo; // Internal resource @Asynchronous public void doFoo(Collection<Object> c) { boo.doSomething(c); } } 不幸的是,Maven给了我以下
@Stateless
@LocalBean
public class Foo {
@Inject
private Boo boo; // Internal resource
@Asynchronous
public void doFoo(Collection<Object> c) {
boo.doSomething(c);
}
}
不幸的是,Maven给了我以下警告:
Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported or published. Runtime ClassNotFoundExceptions may result. ejb-foo P/ejb-foo Classpath Dependency Validator Message
如何修复此错误
注意: 其思想是将
jar
导入另一个Java项目,然后将Foo
类作为EJB实例:
import myjavaeeproject.Foo;
public OtherClass {
@EJB
private Foo foo;
public void doMagic(List<String> list) {
foo.doFoo(list);
}
}
它取决于EJB注入
我做错了什么?根据我在评论中的示例,这是因为eclise认为“该库存在于服务器上,将其与您的项目一起导出是不对的”
我对您的代码不太了解,但似乎还可以。如果这是一个J2EE应用程序,我希望目标是war或ear。我认为J2EE容器不会理解jar部署 您是否尝试过或确定,这修复了警告。但是代码正确吗?为什么返回警告?
import myjavaeeproject.Foo;
public OtherClass {
@EJB
private Foo foo;
public void doMagic(List<String> list) {
foo.doFoo(list);
}
}
POST_MODULE: JBAS018733: Failed to process phase POST_MODULE of deployment