2015-09-06 21 views
3


我需要帮助配置热插拔类文件的项目中的hotswap代理。
在我的项目,我们有项目设置如下图所示:

WebProject(战争)
|
| _ _服务项目(jar)


服务项目被用作web项目中的jar文件。因此,无论何时我在服务项目中的java文件中进行更改,我都希望hotswap代理可以使用最新的代码重新加载/替换其类文件,而无需再次部署整个项目。热插拔代理多模块项目的配置

我已经下载dcevm(动态代码进化VM)JDK 51年7月1日热插拔,agent.jar中文件以及和也做了Eclipse配置。每当我在WebProject的.java,.properties文件中进行更改时,它都会自动重新加载它,而无需再次部署应用程序。现在我只想配置我的hotswap代理,如果我在Web Project内部用作jar文件的服务项目内部的java文件中进行更改,它应该重新加载该.class文件或.jar文件。

是否需要在服务项目的资源文件夹中再添加一个hotswap-agent.properties文件?目前我已将它添加到web项目的资源文件夹中。

任何帮助,非常感谢。

回答

1

我已经配置了热交换剂用于多模块项目。在Web项目中,我添加了hotswap-agent.properties文件。在hotswap-agent.properties文件添加路径这样

extraClasspath = d的服务项目目标目录:/样品/ serviceproject /目标/类

,现在它重新加载的文件从上述目录。

1

配置文件hotswap-agent.properties在运行时从classpath root(即WEB-INF/classes for webapp项目)加载。如果你有标准的maven目录布局,把它放到src/main/resources中。如在hotswap-agent.properties描述

使用extraClasspath属性:

# Add a directory prior to application classpath (load classes and resources). 
# 
# This may be useful for example in multi module maven project to load class changes from upstream project 
# classes. Set extraClasspath to upstream project compiler output and .class file will have precedence to 
# classes from built JAR file. 
extraClasspath= 

实施例与行家布局:

extraClasspath = _PATH_TO_Service_Project_ /目标/类

+0

感谢您的帮助:) –

+1

如果目标jar被存储在war文件之外,这个工作会吗? –