Jenkins从多模块maven项目中部署war文件的工作

时间:2013-06-06 10:20:11

标签: maven jenkins continuous-integration maven-tomcat-plugin

我尝试设置Jenkins作业来部署我的多模块maven项目的war文件。 我的项目结构与此相当:

--Platform
 |-- Core
   |-- ...
 |-- Backend
   |-- BackendWeb
 |-- Frontend
   |-- WebFrotnend1
   |-- WebService
   |-- ...

我设法创建了一个从SVN中检索根(平台)并使用Maven构建所有内容的作业。 当我手动部署时,这个作业构建的war文件工作正常。

现在我想通过tomcat-maven-plugin创建一个用于构建和部署的作业,例如只有“BackendWeb”模块。

为了实现这一点,我尝试创建另一个作业,它只是检索单个模块而不是整个项目并执行 tomcat重新部署目标。乍一看,构建和部署似乎很好,但在tomcat日志中我看到以下内容:

Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.myproject.core.service.config.ConfigurationService]
: Constructor threw exception; nested exception is java.lang.Error: Unresolved compilation problems:
        The import com.myproject.core.config.ConfigEntry cannot be resolved
        ConfigEntry cannot be resolved to a type
        The method getByKey(String) from the type ConfigurationDAO refers to the missing type ConfigEntry
        ConfigEntry cannot be resolved to a type
        ConfigEntry cannot be resolved to a type

        at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:162)
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:76)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:990)
        ... 69 more
Caused by: java.lang.Error: Unresolved compilation problems:
        The import com.myproject.core.config.ConfigEntry cannot be resolved
        ConfigEntry cannot be resolved to a type
        The method getByKey(String) from the type ConfigurationDAO refers to the missing type ConfigEntry
        ConfigEntry cannot be resolved to a type
        ConfigEntry cannot be resolved to a type

我忘记了什么吗? 我不知道为什么这个构建与第一个作业的构建不同,依赖性应该来自同一个maven存储库。

到目前为止,我没有在网上找到解决此问题的方法。 詹金斯是否有最佳实践来实现这一目标?

1 个答案:

答案 0 :(得分:0)

我只是忘了在tomcat之前添加clean任务:重新部署。不知道为什么花了很长时间才找到解决方案;(