2016-06-07 90 views
0

我目前遇到工作中的问题我一直在抨击我的公平对待,并希望这里有人能够提供一些帮助。我想指出这是我的第一个问题,所以我很抱歉,如果可以更好地格式化,请随时告诉我是否应该添加任何内容。使用Jetty作为Java EE应用程序服务器

我们的应用程序在过去的几个月里一直很喜欢TomEE服务器,但是最近我们公司的一些高层告诉我们必须使用Jetty。不幸的是,试图劝阻他们不会是一种选择,除非我们能够证明使用Jetty对我们来说实际上是不可能的。

我已经尝试建立一个Jetty服务器,但我一直专注于使用maven-jetty插件。我们在过去的Tomae-Maven插件方面取得了巨大的成功,所以我希望这一切都会有效。

不幸的是,我们没有使用这种方法。我知道Jetty不是JavaEE服务器,所以我们尝试添加依赖关系。看看我们的做法:

  <plugin> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <version>9.3.9.v20160517</version> 
      <dependencies> 
       <dependency> 
        <groupId>org.apache.openejb</groupId> 
        <artifactId>javaee-api</artifactId> 
        <version>6.0-6</version> 
       </dependency> 
       <dependency> 
        <groupId>org.hibernate</groupId> 
        <artifactId>hibernate-validator</artifactId> 
        <version>4.3.2.Final</version> 
       </dependency> 
       <dependency> 
        <groupId>org.jboss.weld.se</groupId> 
        <artifactId>weld-se-core</artifactId> 
        <version>1.1.33.Final</version> 
       </dependency> 
       <dependency> 
        <groupId>org.apache.openejb</groupId> 
        <artifactId>openejb-core</artifactId> 
        <version>4.7.4</version> 
       </dependency> 
      </dependencies> 
     </plugin> 

不幸的是,每一次尝试在同一网址与我们的应用程序,我们使用TomEE给了我们404请注意,我们的Java代码没有因为试图迁移任何改变到码头。

我做了很多谷歌搜索,并拿出很少。 This发现了SE问题,但是它在Jetty 6的时代被写回。我们使用的是Jetty 9,所以Servlet版本不再是问题。

那么,有没有人认为这可以做到?

更多详细信息: 我们正在使用JavaEE 6, 我们专注于获取CDI和Bean验证,其他EE功能并不重要。

+0

这是完全可行的,可能不是太困难,但是您可能需要从一个骨架项目开始。简单地添加Maven依赖关系可能是不够的。 只是习惯于先启动jetty并首先暴露一个servlet。然后添加焊接和您需要的任何其他功能。例如,按照焊接文档中的说明进行操作:http://www.eclipse.org/jetty/documentation/9.3.x/framework-weld.html –

+0

另外,它可能刚刚起作用。 jetty在与tomcat不同的默认端口上启动。 –

+0

我也会首先将你的应用程序放在jetty-distribution中,根据需要启用cdi模块,等等。然后,一旦你有这个工作步骤回到Maven插件用于开发目的。您不应该将任何Maven插件用于“生产”部署场景。 –

回答

0

openejb和焊接可能不会一起工作,所以要么使用openwebbeans(使用openejb传递),要么必须使用焊接时不使用openejb。

然后可悲的是,没有openejb与jetty集成,所以取决于你使用的是什么,你可以简单地将openejb放在一个过滤器或任何启动钩旁边的码头,否则你将不得不自己整合它们以实现更高级的集成。

相关问题