2015-03-06 4 views
2

Я сделал все в соответствии с настоящим руководством: https://documentation.magnolia-cms.com/display/DOCS/Getting+started+with+BlossomНе удалось выполнить цель org.apache.maven.plugins: maven-compiler-plugin: 2.3.2: скомпилировать (по умолчанию компиляция) по проекту acme-module: Ошибка компиляции:

Я получаю эти ошибки, когда пытаюсь выполнить последний шаг, mvn install (mvn clean отлично работает). Здесь выводится после mvn clean install

tests-imac:acme test$ mvn clean install 
[INFO] Scanning for projects... 
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com.acme:acme-webapp:war:1.0-SNAPSHOT 
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-war-plugin is missing. @ com.acme:acme-webapp:[unknown-version], /Users/staz/blossomproj/acme/acme-webapp/pom.xml, line 35, column 15 
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com.acme:acme-module:jar:1.0-SNAPSHOT 
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: javax.servlet:servlet-api:jar -> version 2.4 vs 2.5 @ line 77, column 17 
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. 
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects. 
[WARNING] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Build Order: 
[INFO] 
[INFO] acme (parent pom) 
[INFO] acmeModule Magnolia Module 
[INFO] acme: webapp 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building acme (parent pom) 1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ acme --- 
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ acme --- 
[INFO] Installing /Users/staz/blossomproj/acme/pom.xml to /Users/test/.m2/repository/com/acme/acme/1.0-SNAPSHOT/acme-1.0-SNAPSHOT.pom 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building acmeModule Magnolia Module 1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ acme-module --- 
[INFO] Deleting /Users/staz/blossomproj/acme/acme-module/target 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ acme-module --- 
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent! 
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] Copying 1 resource 
[INFO] Copying 1 resource 
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ acme-module --- 
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent! 
[INFO] Compiling 4 source files to /Users/staz/blossomproj/acme/acme-module/target/classes 
[INFO] ------------------------------------------------------------- 
[ERROR] COMPILATION ERROR : 
[INFO] ------------------------------------------------------------- 
[ERROR] /Users/staz/blossomproj/acme/acme-module/src/main/java/com/acme/AcmeModule.java:[17,17] error: no suitable method found for initRootWebApplicationContext(Class<AcmeModuleConfiguration>) 
[ERROR]  method BlossomModuleSupport.initRootWebApplicationContext(ContextLoader) is not applicable 
     (actual argument Class<AcmeModuleConfiguration> cannot be converted to ContextLoader by method invocation conversion) 
    method BlossomModuleSupport.initRootWebApplicationContext(String) is not applicable 
     (actual argument Class<AcmeModuleConfiguration> cannot be converted to String by method invocation conversion) 
/Users/staz/blossomproj/acme/acme-module/src/main/java/com/acme/AcmeModule.java:[18,17] error: method initBlossomDispatcherServlet in class BlossomModuleSupport cannot be applied to given types; 
[ERROR] actual argument Class<BlossomServletConfiguration> cannot be converted to String by method invocation conversion 
/Users/staz/blossomproj/acme/acme-module/src/main/java/com/acme/BlossomServletConfiguration.java:[88,22] error: cannot find symbol 
[ERROR] variable handlerMapping of type BlossomHandlerMapping 
/Users/staz/blossomproj/acme/acme-module/src/main/java/com/acme/BlossomServletConfiguration.java:[140,20] error: method addContextAttribute in class AbstractRenderer cannot be applied to given types; 
[ERROR] actual argument Class<Directives> cannot be converted to ContextAttributeConfiguration by method invocation conversion 
/Users/staz/blossomproj/acme/acme-module/src/main/java/com/acme/BlossomServletConfiguration.java:[141,20] error: method addContextAttribute in class AbstractRenderer cannot be applied to given types; 
[INFO] 5 errors 
[INFO] ------------------------------------------------------------- 
[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Summary: 
[INFO] 
[INFO] acme (parent pom) .................................. SUCCESS [ 0.869 s] 
[INFO] acmeModule Magnolia Module ......................... FAILURE [ 5.262 s] 
[INFO] acme: webapp ....................................... SKIPPED 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 7.003 s 
[INFO] Finished at: 2015-03-06T12:01:46+01:00 
[INFO] Final Memory: 23M/183M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project acme-module: Compilation failure: Compilation failure: 
[ERROR] /Users/staz/blossomproj/acme/acme-module/src/main/java/com/acme/AcmeModule.java:[17,17] error: no suitable method found for initRootWebApplicationContext(Class<AcmeModuleConfiguration>) 
[ERROR] method BlossomModuleSupport.initRootWebApplicationContext(ContextLoader) is not applicable 
[ERROR] (actual argument Class<AcmeModuleConfiguration> cannot be converted to ContextLoader by method invocation conversion) 
[ERROR] method BlossomModuleSupport.initRootWebApplicationContext(String) is not applicable 
[ERROR] (actual argument Class<AcmeModuleConfiguration> cannot be converted to String by method invocation conversion) 
[ERROR] /Users/staz/blossomproj/acme/acme-module/src/main/java/com/acme/AcmeModule.java:[18,17] error: method initBlossomDispatcherServlet in class BlossomModuleSupport cannot be applied to given types; 
[ERROR] actual argument Class<BlossomServletConfiguration> cannot be converted to String by method invocation conversion 
[ERROR] /Users/staz/blossomproj/acme/acme-module/src/main/java/com/acme/BlossomServletConfiguration.java:[88,22] error: cannot find symbol 
[ERROR] variable handlerMapping of type BlossomHandlerMapping 
[ERROR] /Users/staz/blossomproj/acme/acme-module/src/main/java/com/acme/BlossomServletConfiguration.java:[140,20] error: method addContextAttribute in class AbstractRenderer cannot be applied to given types; 
[ERROR] actual argument Class<Directives> cannot be converted to ContextAttributeConfiguration by method invocation conversion 
[ERROR] /Users/staz/blossomproj/acme/acme-module/src/main/java/com/acme/BlossomServletConfiguration.java:[141,20] error: method addContextAttribute in class AbstractRenderer cannot be applied to given types; 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command 
[ERROR] mvn <goals> -rf :acme-module 

версия Magnolia - 5.3.7 EE Blossom модуль версии - 3.0.5

pom.xml

<?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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <parent> 
    <artifactId>acme</artifactId> 
    <groupId>com.acme</groupId> 
    <version>1.0-SNAPSHOT</version> 
    </parent> 
    <groupId>com.acme</groupId> 
    <artifactId>acme-module</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 
    <name>acmeModule Magnolia Module</name> 
    <!-- 
    <description>Please uncomment and fill in ...</description> 
    --> 
    <properties> 
    <magnoliaVersion>5.3.7</magnoliaVersion> 
    <javaVersion>1.6</javaVersion> 
    <blossomVersion>3.0.5</blossomVersion> 
    <springVersion>4.1.4.RELEASE</springVersion> 
    </properties> 

    <dependencies> 
<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>servlet-api</artifactId> 
    <version>2.4</version> 
</dependency> 
    <dependency> 
     <groupId>info.magnolia</groupId> 
     <artifactId>magnolia-core</artifactId> 
     <version>${magnoliaVersion}</version> 
    </dependency> 
    <dependency> 
     <groupId>info.magnolia</groupId> 
     <artifactId>magnolia-rendering</artifactId> 
     <version>${magnoliaVersion}</version> 
    </dependency> 
    <dependency> 
     <groupId>info.magnolia</groupId> 
     <artifactId>magnolia-templating</artifactId> 
     <version>${magnoliaVersion}</version> 
    </dependency> 
    <dependency> 
     <groupId>info.magnolia</groupId> 
     <artifactId>magnolia-templating-jsp</artifactId> 
     <version>${magnoliaVersion}</version> 
    </dependency> 
    <dependency> 
     <groupId>info.magnolia.blossom</groupId> 
     <artifactId>magnolia-module-blossom</artifactId> 
     <version>${blossomVersion}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>${springVersion}</version> 
     <exclusions> 
     <exclusion> 
      <groupId>commons-logging</groupId> 
      <artifactId>commons-logging</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-aop</artifactId> 
     <version>${springVersion}</version> 
     <exclusions> 
     <exclusion> 
      <groupId>commons-logging</groupId> 
      <artifactId>commons-logging</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
     <scope>provided</scope> 
    </dependency> 
    <!-- For @Valid - JSR-303 Bean Validation API --> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>4.3.1.Final</version> 
    </dependency> 

    <!-- TEST --> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.11</version> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 

    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.2</version> 
     <configuration> 
      <source>${javaVersion}</source> 
      <target>${javaVersion}</target> 
     </configuration> 
     </plugin> 
    </plugins> 

    <!-- default resources configuration which will filter the module descriptor --> 
    <resources> 
     <resource> 
     <directory>src/main/resources</directory> 
     <includes> 
      <include>**/*</include> 
     </includes> 
     </resource> 
     <resource> 
     <filtering>true</filtering> 
     <directory>src/main/resources</directory> 
     <includes> 
      <include>META-INF/magnolia/*</include> 
     </includes> 
     </resource> 
    </resources> 
    </build> 

    <repositories> 
    <repository> 
     <id>magnolia.public</id> 
     <url>https://nexus.magnolia-cms.com/content/groups/public</url> 
     <snapshots> 
     </snapshots> 
    </repository> 

    <repository> 
     <id>magnolia.enterprise.releases</id> 
     <url>https://nexus.magnolia-cms.com/content/repositories/magnolia.enterprise.releases</url> 
     <snapshots> 
     <enabled>false</enabled> 
     </snapshots> 
    </repository> 

    <repository> 
     <id>vaadin-addons</id> 
     <url>https://maven.vaadin.com/vaadin-addons</url> 
    </repository> 
    </repositories> 

</project> 
+0

Вы повторно запустили эту команду с ключом -e, как было предложено maven? каков был результат? – Jan

ответ

2

относительно предупред

[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: javax.servlet:servlet-api:jar -> version 2.4 vs 2.5 @ line 77, column 17 

Вероятно, у вас есть временная зависимость, которая требует javax.servlet:servlet-api:2.5, но вы определили javax.servlet:servlet-api:2.4

Вы можете перейти от javax.servlet:servlet-api:2.4 к javax.servlet:servlet-api:2.5 или добавить другое исключение для javax.servlet:servlet-api:2.5 зависимости. Используйте mvn dependency:list, чтобы узнать, какая зависимость обеспечивает переходную зависимость.

Тогда есть еще одно предупреждение

[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-war-plugin is missing. @ com.acme:acme-webapp:[unknown-version], /Users/staz/blossomproj/acme/acme-webapp/pom.xml, line 35, column 15 

добавить [...]

... 
 
    <build> 
 
     <pluginManagement> 
 
     <plugins> 
 
      <plugin> 
 
      <groupId>org.apache.maven.plugins</groupId> 
 
      <artifactId>maven-war-plugin</artifactId> 
 
      <version>2.4</version> 
 
      </plugin> 
 
     </plugins> 
 
     </pluginManagement> 
 
    </build> 
 
...

вам pom.xml

+0

Спасибо за вход, к сожалению, я могу попробовать это в понедельник - собираюсь написать отзыв, чтобы точно подумать! –

+0

Я бы сказал, что это решает проблему, во время второго шага от ссылки на вопрос я добавил maven-war-plugin в pom.xml + used Blossom 3.0.6. Вы великие парни. –

2

Blossom 3.0.6 был выпущен да terday, чтобы упростить использование Spring java config. Благодаря этому BlossomModuleSupport получил новые методы для инициализации контекста приложения и сервлетов с использованием классов конфигурации. Это методы, которые не могут быть найдены, что ломает компиляцию.

При этом обновленная версия моментального снимка архетипа была обновлена ​​для создания проекта, который использует конфигурацию Spring java и, следовательно, эти новые методы.

Итак, вам нужно использовать 3.0.6 с архетипом, и все должно быть хорошо.

Смежные вопросы

 Смежные вопросы