2014-09-01 64 views
1

我嘗試修改樣本中的spring-boot-sample-integration項目的Maven構建,以便不使用父級spring-boot-starter-parent,而是導入spring-boot依賴管理中的依賴關係。這是因爲我想將spring boot作爲Maven模塊使用到現有項目中。Spring-boot沒有maven父級和unittests沒有運行

所有建立好;但是,junit測試不能在Maven安裝生命週期中運行。我想知道我還需要做什麼以及爲什麼會有所不同。下面是我使用的POM。我沒有修改任何樣本類。我只是修改了pom。非常感激任何的幫助。

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 

    <modelVersion>4.0.0</modelVersion> 
    <artifactId>spring-boot-samples</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <groupId>org.springframework.boot</groupId> 

    <properties> 
     <main.basedir>${basedir}</main.basedir> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    </properties> 

    <repositories> 
     <repository> 
      <id>spring-snapshots</id> 
      <url>http://repo.spring.io/snapshot</url> 
      <snapshots><enabled>true</enabled></snapshots> 
     </repository> 
     <repository> 
      <id>spring-milestones</id> 
      <url>http://repo.spring.io/milestone</url> 
     </repository> 
    </repositories> 

    <pluginRepositories> 
     <pluginRepository> 
      <id>spring-snapshots</id> 
      <url>http://repo.spring.io/snapshot</url> 
     </pluginRepository> 
     <pluginRepository> 
      <id>spring-milestones</id> 
      <url>http://repo.spring.io/milestone</url> 
     </pluginRepository> 
     <pluginRepository> 
      <id>Central</id> 
      <url>http://repo1.maven.org/maven2</url> 
     </pluginRepository> 
    </pluginRepositories> 

    <dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-dependencies</artifactId> 
       <version>1.2.0.BUILD-SNAPSHOT</version> 
       <type>pom</type> 
       <scope>import</scope> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-integration</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-actuator</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.integration</groupId> 
      <artifactId>spring-integration-jmx</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.integration</groupId> 
      <artifactId>spring-integration-ip</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.integration</groupId> 
      <artifactId>spring-integration-xml</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-autoconfigure</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.17</version> 
       <configuration> 
        <argLine>-XX:MaxPermSize=128m -Xmx256m</argLine> 
        <forkCount>1</forkCount> 
        <reuseForks>false</reuseForks> 
        <runOrder>alphabetical</runOrder> 
        <argLine>-Dfile.encoding=${project.build.sourceEncoding}</argLine> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.0</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
        <encoding>UTF-8</encoding> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
       <version>1.2.0.BUILD-SNAPSHOT</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>repackage</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

</project> 
+0

看起來不錯給我。如何共享來自'mvn install -X'的輸出(例如,在要點中)? – 2014-09-01 16:56:22

回答

2

我們的慣例是結束我們的測試與Tests而不是Test,所以你需要指示maven-surefire-plugin我們的默認。

喜歡的東西

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration> 
    <includes> 
     <include>**/*Tests.java</include> 
    </includes> 
    <excludes> 
     <exclude>**/Abstract*.java</exclude> 
    </excludes> 
    </configuration> 
</plugin>