背景
我们有一个现有的ColdFusion应用程序,我们正在考虑向它添加额外的Java内容。
虽然我知道可以编译一个jar并使用它作为一个库,但我正在寻找更接近于纯java-ee体验的东西,在java文件上单击保存,IDE会重新部署到服务器上,并且您的应用程序在您访问保存后的毫秒内可用。
我知道ColdFusion服务器实际上是Tomcat服务器,并且使用java“底层”,所以我希望能够有一个java-ee项目,而这个项目恰好也有几个.cfm和.cfc文件。不过,我无法让NetBeans将ColdFusion服务器识别为Tomcat服务器。
或者,我尝试将WAR表单ColdFusion服务器部署到Glass服务器,然后将我的项目部署到该服务器上。当然,将java部署到一个玻璃鱼服务器是很容易的,但是当然它部署在ColdFusion应用程序旁边,而不是在它里面,我无法找到一种方法来纠正这个问题。
问题
我如何将java部署到ColdFusion服务器(其中可能有也可能没有ColdFusion .cfm和.cfcs )?(或者如何在同时使用ColdFusion的情况下获得Java即时部署体验)
发布于 2015-02-26 09:22:53
摘要
我能找到的唯一解决方案是把整个关系都放在头上,把ColdFusion作为战争重叠(类似于但不同于把它作为库)。然后,可以将整个过程部署到兼容Java的服务器上(例如GlassFish)。战争覆盖是使用Maven创建的
循序渐进
下载ColdFusion,像往常一样启动安装。然后选择“Java”>“WAR File”作为安装选项。这将为您提供整个ColdFusion服务器作为一个.war文件(传统的使用方法是您可以在任何Java服务器上安装ColdFusion,我们将使用它与此略有不同)。
我们将使用maven来生成war覆盖,因此我们需要maven能够访问您刚刚生成的ColdFusion war。可以使用以下命令将WAR添加到本地存储库(编辑ColdFusion版本以及保存WAR的位置)
mvn install:install-file -DgroupId=com.adobe.coldfusion -DartifactId=coldfusion -Dpackaging=war -Dversion=10 -Dfile=c:/coldfusion/cfusion.war -DgeneratePom=true 如果maven的bin不在Path环境变量中,则可能需要将目录更改为它。这取决于您的系统,但假设您正在为maven使用netbeans插件(默认情况下),您将执行以下操作(编辑Netbeans安装位置)
cd C:\Program Files\NetBeans 8.0.1\java\maven\bin在Netbeans中创建一个新的Maven Java-ee项目。然后(在生成的项目中)打开项目Files>pom.xml文件并添加War覆盖依赖项
<dependencies>
<!-- other dependancies -->
<!-- This is the war overlay -->
<dependency>
<groupId>com.adobe.coldfusion</groupId>
<artifactId>coldfusion</artifactId>
<version>10</version>
<type>war</type>
<scope>runtime</scope>
<optional>false</optional>
</dependency>
</dependencies>现在应该可以将ColdFudion文件(在网页目录中)包含在正常的Java应用程序旁边。
参考文献:
https://stackoverflow.com/questions/28398431
复制相似问题