我搜索了这个,并且有类似的情况,但不是一个确切的情况。 作为初学者,我需要完整的指令。我需要编译单个Java文件并将其放回现有(已编译)的Java应用程序中。我无法使用此Java代码的源代码,因此无法编译整个项目。 我已经反编译了我需要的单个类文件,对它进行了更改,现在想将其相应的类文件放回到WAR中。 我不想使用ANT或maven而是想使用eclipse进行编译。我不知道如何解决我的java文件所具有的依赖关系
我显然不想反编译整个应用程序。
我有WAR文件
谢谢!
答案 0 :(得分:0)
只需将更新的类文件放入爆炸战争中,然后再创建一场战争。
答案 1 :(得分:0)
您无法将单个文件放入WAR中。您可以做的是访问服务器保持解压缩战争的位置,并用新文件替换旧文件。
答案 2 :(得分:0)
从文件格式的角度来看,WAR只不过是一个zip文件。您可以使用任何能够处理zip文件的实用程序(例如Winzip)打开它。因此,您可以解压缩WAR文件,将编译后的类添加到与其包对应的位置并再次压缩。
但我真的不推荐这样的过程。这很可能是一个非常非常糟糕的主意。它可能会在以后导致所有类型的问题,因为在常规过程中,war文件是从项目构建的,显然,您正在添加一个文件,该文件不是构建war文件的项目的一部分。因此,在某些时候,您将需要重建war文件,并且您将丢失对添加的文件所做的更改。
但是可以做到......
关于如何获取已编译的类文件:如果您在Eclipse中看到没有任何红色注释的源文件,您可能已经在文件系统上获得了它。只需使用文件浏览器或其他东西看看。如果您看不到它,请按Eclipse中的Control + B进行构建(这些说明不适用于Maven项目)。
您应该将文件添加到生成war文件的项目中,以便将整个工作保持在一个一致的单元中。所以你可以反复建立,而不必担心像你在这里计划的变化。想一想:点击一下即可构建完整,完整,可用的warfile。
答案 3 :(得分:0)
这不是你要找的吗?
http://www.mkyong.com/eclipse/how-to-configure-hot-deploy-in-eclipse/
它可以在服务器中部署时替换Java类中较小的代码更改。因此,它可以节省您的部署时间。但它有一个限制:如果你进行大规模的修改,那么你需要重新编译整个.war,然后重新连接到你的服务器。