事实证明,在我的glassfish应用程序中运行php是相当容易的。我已经从这里下载了Quercus4.0.18:http://caucho.com/download/quercus-4.0.18.war,解压war文件并将WEB-INF/lib中的4个jar文件复制到我的glassfish/domain1/domain1/lib目录中。
通过向web.xml添加几行代码,我已经能够提供hello world php文件:
<servlet>
<servlet-name>Quercus Servlet</servlet-name>
<servlet-class>com.caucho.quercus.servlet.QuercusServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Quercus Servlet</servlet-name>
<url-pattern>*.php</url-pattern>
</servlet-mapping>我的问题是,为了将所需的依赖项添加到maven项目中,并避免解压war文件等,我需要向pom.xml添加什么?我使用maven的时间不长,除了最简单的配置之外,我通常对任何事情都感到困惑,所以答案越简单对我越好。
谢谢。
发布于 2011-12-29 03:37:46
这是一个简单的问题,您的Maven项目表达了对手动复制到WEB-INF/lib中的4个JAR的依赖关系。假设你复制的4个罐子是
quercus-A-4.18.jarquercus-B-4.18.jarquercus-C-4.18.jar和quercus-D-4.18.jar在POM的dependencies部分中,您可以添加对这些JAR的依赖项。类似于:
<dependency>
<groupId>com.caucho.quercus</groupId> <-- Confirm the correct value
<artitfactId>quercus-A<artifactId> <-- Replace with artifacts A - D.
<version>4.18</version>
</dependency>您需要做的是找到一个托管这4个JAR的Maven存储库(可能在Caucho )。如果这个存储库还不在您的POM (或settings.xml)中,您可以添加它:(来自docs)
<repositories>
<repository>
<id>Quercus</id>
<name>Quercus Maven repository</name>
<url>http://url.to.top.level.of.this.repository</url>
<layout>default</layout>
</repository>
</repositories>另一方面,假设一个公共存储库是的,而不是。然后,作为最后的手段,您可以将这4个JAR放在您的本地存储库(主目录)中。如果您是唯一的开发人员,这是一种变通方法。如果您正在与同样需要这些JAR的团队一起工作,或者您有一个要进行构建的持续集成服务器,那么您将希望在一个共享(联网)位置上托管一个存储库。
当然,如果您采用托管这些JAR的方式,那么您有责任使它们保持最新。
发布于 2014-09-02 23:17:50
Caucho有自己的maven存储库。他们解释如何在他们的Wiki上使用它。
对于发行版,只需将此代码添加到您的pom.xml中。
<repositories>
<repository>
<id>caucho</id>
<name>caucho public repo</name>
<url>http://caucho.com/m2/</url>
</repository>
</repositories>https://stackoverflow.com/questions/8658550
复制相似问题