2017-03-12 33 views
0

我的春天启动的项目结构如下 -Project - src - main - java - resources - webapp - test - frontend - src - static - config - package.json - (after "npm install") node_modules - (after "npm run build") dist 要运行的exec-Maven的插件,当春天开机运行

我想要做的就是

  1. 安装项目时,运行“故宫安装”

  2. 当“春天启动:运行”运行,运行“故宫运行编译”,并在前面移动内容/ DIST到/主/ web应用

,这里是我的pom.xml

<build> 
    <pluginManagement> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 

     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>exec-npm-install</id> 
        <phase>generate-sources</phase> 
        <configuration> 
         <executable>npm</executable> 
         <workingDirectory>./frontend</workingDirectory> 
         <arguments> 
          <argument>install</argument> 
         </arguments> 
        </configuration> 
        <goals> 
         <goal>exec</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
    </pluginManagement> 
</build> 

我不知道我是如何引发的exec-NPM-安装exection 与Eclipse Maven构建,我试图生成来源,弹簧启动:运行,安装并编译,但它没有运行。

,我想知道我应该把什么命令,移动DIST当“春天启动:运行”

+0

您需要将其移出pluginManagement区域。在pluginManagement中,你可以定义版本和参数,但是你需要把它放在pluginManagement之外。 – khmarbaise

+0

谢谢。在Eclipse中,如果没有插件管理,执行会发生错误信息,所以我把它们放在里面。现在,作为您的评论,我删除了pluginManagement并忽略了执行错误。有用! –

+0

你会得到什么样的执行错误? – khmarbaise

回答

0

几件事情 -

  • 正如指出的@khmarbaise还有,你应该将您的<plugins>树移出<pluginManagement>,并使用<version>作为您正在使用的插件。由于执行依赖于执行的generate-sources阶段

  • 我不知道我是如何引发的exec-NPM-安装exection

。如果您尝试从项目目录的命令行执行mvn generate-sources,则应执行触发。同样执行mvn testmvn install,mvn package应该做必要的事情。看看这个Maven - Lifecycle Reference

  • 我想知道我应该把什么命令,移动DIST时 “春天启动:运行”

如果你要的资源复制到/webapp目录,你应该看看maven-resources-plugin并相应地改变它的阶段。