有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

将javaee WAR部署到ColdFusion服务器(用于混合Java ColdFusion应用程序)

背景

我们有一个现有的ColdFusion应用程序,我们正在考虑向它添加额外的Java内容

虽然我知道可以编译一个jar并将其用作一个库,但我正在寻找一种更接近纯JavaEE的体验,即在java文件上点击save,IDE将重新部署到服务器,并且在点击save后的几毫秒内,应用程序就可用了

我知道ColdFusion服务器实际上是一个Tomcat服务器,并且使用JavaEE“隐藏”,所以我希望能够有一个JavaEE项目,碰巧也有一些。cfm和。cfc文件在里面。不过,我无法让NetBeans将ColdFusion服务器识别为Tomcat服务器

或者,我尝试将一个warformcoldfusion服务器部署到一个glassfish服务器上,然后将我的项目部署到该服务器上。当然,将javaeewar部署到glassfish服务器很容易,但它当然部署在ColdFusion应用程序的旁边,而不是中,我无法找到一种方法来纠正这一点

问题:

如何将java ee WAR部署到ColdFusion服务器(其中可能包含也可能不包含ColdFusion.cfm和.cfcs)?(或者如何在使用ColdFusion的同时获得Java ee即时部署体验)


共 (1) 个答案

  1. # 1 楼答案

    摘要

    我能找到的唯一解决办法是将整个关系转变为一个整体,将ColdFusion作为一个战争重叠(类似于但不同于将其作为一个库)。然后可以将整个东西部署到符合JavaEE的服务器(例如GlassFish)。战争覆盖是使用Maven创建的

    一步一步

    下载ColdFusion,像往常一样开始安装。然后选择“Java ee配置”>;“WAR文件”作为安装选项。这将为您提供整个ColdFusion服务器。war文件(通常的用法是,您可以在任何JavaEE服务器上安装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项目。然后(在生成的项目中)打开项目文件>;波姆。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>
    

    现在,除了普通的JavaEE应用程序之外,还可以包括ColdAudion文件(在Web页面目录中)

    参考资料: