2013-03-24 29 views
12

github Java/PHP projecttravis-ci ortamıyla tümleştirmeye çalışıyorum.java jenerikler ve ek notları sürüm 1.3'te desteklenmiyor (travis tümleştirmesi)

Using worker: bluebox-linux-1.worker.travis-ci.org:travis-linux-9 
$ git clone --depth=50 --branch=master git://github.com/tkoomzaaskz/wealthy-laughing-duck.git tkoomzaaskz/wealthy-laughing-duck 
Cloning into 'tkoomzaaskz/wealthy-laughing-duck'... 
remote: Counting objects: 458, done. 
remote: Compressing objects: 100% (263/263), done. 
remote: Total 458 (delta 156), reused 390 (delta 96) 
Receiving objects: 100% (458/458), 458.40 KiB, done. 
Resolving deltas: 100% (156/156), done. 
$ cd tkoomzaaskz/wealthy-laughing-duck 
$ git checkout -qf 47d1ef528f19ad6d01288ac9a3d4c550a79b14f4 
$ jdk_switcher use openjdk7 
Switching to OpenJDK7 (java-1.7.0-openjdk-amd64), JAVA_HOME will be set to /usr/lib/jvm/java-7-openjdk-amd64 
update-alternatives: error: no alternatives for apt. 
update-alternatives: error: no alternatives for mozilla-javaplugin.so. 
update-java-alternatives: plugin alternative does not exist: /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so 
$ java -version 
java version "1.7.0_15" 
OpenJDK Runtime Environment (IcedTea7 2.3.7) (7u15-2.3.7-0ubuntu1~12.04.1) 
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode) 
$ javac -version 
javac 1.7.0_15 
$ mvn install --quiet -DskipTests=true 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project wealthy-laughing-duck: Compilation failure: Compilation failure: 
[ERROR] /home/travis/build/tkoomzaaskz/wealthy-laughing-duck/src/main/java/com/blogspot/symfonyworld/wealthylaughingduck/dao/OutcomeDao.java:[19,8] error: generics are not supported in -source 1.3 
[ERROR] 
[ERROR] (use -source 5 or higher to enable generics) 
[ERROR] /home/travis/build/tkoomzaaskz/wealthy-laughing-duck/src/main/java/com/blogspot/symfonyworld/wealthylaughingduck/model/Income.java:[12,1] error: annotations are not supported in -source 1.3 
[ERROR] 
[ERROR] (use -source 5 or higher to enable annotations) 
[ERROR] /home/travis/build/tkoomzaaskz/wealthy-laughing-duck/src/main/java/com/blogspot/symfonyworld/wealthylaughingduck/model/User.java:[10,1] error: annotations are not supported in -source 1.3 

çıktı ben açıklamaları ve jenerikleri kullanmak java çok eski bir sürümünü kullanıyorum söylüyor: Aşağıda

language: java 
jdk: 
    - openjdk7 
    - oraclejdk7 
script: mvn test 

baskılar Travis çıktısı: Bu benim Travis yapılandırmasıdır. Ama bunlar yeni bir şey değiller ve bir şekilde desteklenmeliler (sanırım). Travis/java belgelerine baktım ama java versiyonu hakkında bir seçenek bulamadım (bu yüzden farklı jdks kullanmaya çalıştım). Birisi bana travis yapılandırma dosyasına ne koymam gerektiğini işaret edebilir mi?


düzenleme:

@hertzsprung takiben (? Aslında, ne source ne de target nitelik notu maven-compiler-plugin için tanımlanmıştır - Ben bu konuda ne yapabilir) Ben mvn help:effective-pom koştum ve onu çıkışı aşağıdaki döndürdü:

<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> 

    <groupId>com.blogspot.symfony-world</groupId> 
    <artifactId>wealthy-laughing-duck</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>wealthy-laughing-duck</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.thrift</groupId> 
      <artifactId>libthrift</artifactId> 
      <version>0.9.0</version> 
     </dependency> 
     <dependency> 
      <artifactId>slf4j-api</artifactId> 
      <groupId>org.slf4j</groupId> 
      <type>jar</type> 
      <version>1.7.3</version> 
     </dependency> 
     <dependency> 
      <artifactId>hibernate-core</artifactId> 
      <groupId>org.hibernate</groupId> 
      <type>jar</type> 
      <version>4.1.10.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>5.1.24</version> 
     </dependency> 
    </dependencies> 
</project> 
:
<!-- ====================================================================== --> 
<!--                  --> 
<!-- Generated by Maven Help Plugin on 2013-03-24T08:15:13     --> 
<!-- See: http://maven.apache.org/plugins/maven-help-plugin/    --> 
<!--                  --> 
<!-- ====================================================================== --> 

<!-- ====================================================================== --> 
<!--                  --> 
<!-- Effective POM for project            --> 
<!-- 'com.blogspot.symfony-world:wealthy-laughing-duck:jar:1.0-SNAPSHOT' --> 
<!--                  --> 
<!-- ====================================================================== --> 

<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> 
    <groupId>com.blogspot.symfony-world</groupId> 
    <artifactId>wealthy-laughing-duck</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <name>wealthy-laughing-duck</name> 
    <url>http://maven.apache.org</url> 
    <build> 
    <sourceDirectory>/var/www/github/wealthy-laughing-duck/src/main/java</sourceDirectory> 
    <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory> 
    <testSourceDirectory>/var/www/github/wealthy-laughing-duck/src/test/java</testSourceDirectory> 
    <outputDirectory>/var/www/github/wealthy-laughing-duck/target/classes</outputDirectory> 
    <testOutputDirectory>/var/www/github/wealthy-laughing-duck/target/test-classes</testOutputDirectory> 
    <resources> 
     <resource> 
     <mergeId>resource-0</mergeId> 
     <directory>/var/www/github/wealthy-laughing-duck/src/main/resources</directory> 
     </resource> 
    </resources> 
    <testResources> 
     <testResource> 
     <mergeId>resource-1</mergeId> 
     <directory>/var/www/github/wealthy-laughing-duck/src/test/resources</directory> 
     </testResource> 
    </testResources> 
    <directory>/var/www/github/wealthy-laughing-duck/target</directory> 
    <finalName>wealthy-laughing-duck-1.0-SNAPSHOT</finalName> 
    <pluginManagement> 
     <plugins> 
     <plugin> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <version>1.6</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.2-beta-4</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-clean-plugin</artifactId> 
      <version>2.3</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.0.2</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <version>2.1</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-deploy-plugin</artifactId> 
      <version>2.4</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-ear-plugin</artifactId> 
      <version>2.3.2</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-ejb-plugin</artifactId> 
      <version>2.2</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-install-plugin</artifactId> 
      <version>2.3</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.2</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <version>2.6.1</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-plugin-plugin</artifactId> 
      <version>2.8</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-rar-plugin</artifactId> 
      <version>2.2</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-release-plugin</artifactId> 
      <version>2.0-beta-8</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-resources-plugin</artifactId> 
      <version>2.3</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-site-plugin</artifactId> 
      <version>2.1</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-source-plugin</artifactId> 
      <version>2.0.4</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.4.3</version> 
     </plugin> 
     <plugin> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.1-beta-1</version> 
     </plugin> 
     </plugins> 
    </pluginManagement> 
    <plugins> 
     <plugin> 
     <artifactId>maven-help-plugin</artifactId> 
     <version>2.2</version> 
     </plugin> 
    </plugins> 
    </build> 
    <repositories> 
    <repository> 
     <snapshots> 
     <enabled>false</enabled> 
     </snapshots> 
     <id>central</id> 
     <name>Maven Repository Switchboard</name> 
     <url>http://repo1.maven.org/maven2</url> 
    </repository> 
    </repositories> 
    <pluginRepositories> 
    <pluginRepository> 
     <releases> 
     <updatePolicy>never</updatePolicy> 
     </releases> 
     <snapshots> 
     <enabled>false</enabled> 
     </snapshots> 
     <id>central</id> 
     <name>Maven Plugin Repository</name> 
     <url>http://repo1.maven.org/maven2</url> 
    </pluginRepository> 
    </pluginRepositories> 
    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.thrift</groupId> 
     <artifactId>libthrift</artifactId> 
     <version>0.9.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>1.7.3</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>4.1.10.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.24</version> 
    </dependency> 
    </dependencies> 
    <reporting> 
    <outputDirectory>/var/www/github/wealthy-laughing-duck/target/site</outputDirectory> 
    </reporting> 
    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
</project> 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESSFUL 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 16 seconds 
[INFO] Finished at: Sun Mar 24 20:15:13 CET 2013 
[INFO] Final Memory: 11M/60M 
[INFO] ------------------------------------------------------------------------ 

Bu kaynağım pom.xml içeriğidir

+2

Bu, travis-ci'den ziyade pomanızla ilgili bir problem gibi görünüyor. Rich-laughing-duck için 'mvn help: effective-pom' bölümüne bakın ve maven-compiler-plugin için veya elemanlarının ayarlanmış olup olmadığına bakın. – hertzsprung

+0

Yorumunuzda belirtilen çıktıyı sağladım. Bir göz atabilir ve çözümü önerebilir misiniz? – ducin

+3

[Kaynak ve hedef açıkça belirtme] (http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html) 'ı kullanıp kullanmadığınızı görmek için 1.7'yi kullanabilirsiniz. bu yardımcı olur? – hertzsprung

cevap

36

Lütfen Maven derleme yapılandırmanız için pom.xml dosyasında aşağıdaki kodu eklemeyi deneyin. Ben senin gibi aynı sorunu vardı ve bu benim için hile yapmak gibiydi:

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
        <compilerArgument></compilerArgument> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 
+1

Bu benim için de işe yarıyor, ancak bunun neden sorunu çözdüğünü söyler misiniz? Teşekkürler. –

+0

@ Shubham.Shukla - çok uzun zaman önce tamamen unuttum. Sanırım bu, ek açıklamalar için 1,5’e ihtiyacınız var. – blackpanther

+0

Bunun için seni suçlamıyorum! :) Teşekkürler. –

7

Travis kaynak seviyesi ve 1.3 jdk ayarlı hedef Jvm kullanıyor bazı garip nedenle benziyor. Bence maven varsayılanını korumalılar (1.5'tir), çünkü bu hata beni şaşırtmıştı ve düzeltmek için biraz zaman harcamıştı, çünkü proje yapılandırmamı ve davranışlarımı dış araçlara göre değiştirmek istemiyorum.

language: java 
jdk: 
    - oraclejdk7 
    - openjdk7 
install: mvn install -Dmaven.compiler.target=1.5 -Dmaven.compiler.source=1.5 -DskipTests=true -B 
script: mvn test -Dmaven.compiler.target=1.5 -Dmaven.compiler.source=1.5 -B 

Bu:

Eğer (sizin sürekli entegrasyon aracı bağımlı olmamalı) sizin pom.xml değiştirerek önlemek amacıyla, approriate kaynak seviyesi ve hedef Jvm kullanarak derlemek Travis'e yapılandırabilirsiniz istiyorsanız

1.5 kaynak seviyesinde derlenecek ve 1.5 jvm için hedeflenen bayt kodu üretecektir. 1.7'yi hedeflemek istiyorsanız 1,5'in 1,7'sini belirtebilirsiniz.