пакет maven не компилируется - PullRequest
0 голосов
/ 15 марта 2012

У меня есть многомодульный проект, и я застрял в этой странной ситуации:

команда> пакет mvn

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building mysoft-service-api 3.4-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ mysoft-service-api ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\dev\mysoft\service\api\src\main\resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ mysoft-service-api ---
[INFO] Compiling 150 source files to C:\dev\mysoft\service\api\target\classes
[INFO] 
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ mysoft-service-api ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\dev\mysoft\service\api\src\test\resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ mysoft-service-api ---
[INFO] Not compiling test sources
[INFO] 
[INFO] --- maven-surefire-plugin:2.5:test (default-test) @ mysoft-service-api ---
[INFO] Tests are skipped.
[INFO] 
[INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ mysoft-service-api ---
[INFO] Building jar: C:\dev\mysoft\service\api\target\mysoft-service-api-3.4-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.524s
[INFO] Finished at: Thu Mar 15 19:54:12 EET 2012
[INFO] Final Memory: 21M/225M
[INFO] ------------------------------------------------------------------------

после этого папка target / classes пуста. как это могло быть, когда классы были найдены, и это сообщает об успехе сборки?

банка также построена, но, очевидно, без классов.

pom этого модуля:

http://maven.apache.org/xsd/maven-4.0.0.xsd" XMLNS = "http://maven.apache.org/POM/4.0.0" XMLNS: XSI = "http://www.w3.org/2001/XMLSchema-instance"> 4.0.0

<parent>
    <artifactId>mysoft-service</artifactId>
    <groupId>mysoft.service</groupId>
    <version>3.4-SNAPSHOT</version>
</parent>

<groupId>mysoft.service.api</groupId>
<artifactId>mysoft-service-api</artifactId>
<name>mysoft-service-api</name>
<version>3.4-SNAPSHOT</version>
<packaging>jar</packaging>

<dependencies>
</dependencies>

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

с использованием Maven 3.0.4. Любой намек был бы очень признателен (пробовал разные вещи в течение нескольких дней).

все программное обеспечение компилируется и прекрасно работает в intellij idea.

и да, я запустил mvn clean и сделал новую проверку. фактически я даже использовал свежую установку Windows со всем свежим (без локальных остатков репозитория mvn), и могу воспроизвести эту проблему. запуск mvn из идеи и командной строки.

Ответы [ 3 ]

0 голосов
/ 24 января 2013

Мы никогда не выясняли, в чем именно заключалась проблема.Но после некоторого рефакторинга проблема ушла.Так что я "закрываю" это сейчас.

0 голосов
/ 13 августа 2016

Даже если этот вопрос получил приемлемый ответ и является очень старым, я хотел бы дать решение, которое сработало для меня, поскольку я столкнулся с той же проблемой, для ОП и, возможно, будущих читателей.

В моем случае я создавал проект процессора аннотаций, и сборка не показала никаких ошибок и все же не производила никакого файла класса. В моей папке src / main / resources у меня был файл META-INF / services / javax.annotation.processing.Processor с определением классов процессора аннотаций. Я понял, что это является причиной проблемы. Чтобы это исправить, мне пришлось добавить эту конфигурацию в мой файл pom.xml:

 <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <compilerArgument>
                    -proc:none
                </compilerArgument>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>

Аргумент компилятора -proc: none будет передан непосредственно в javac, отключив обработку аннотаций для этой сборки проекта и скомпилировав классы.

Я не уверен, что это было решением для вашего конкретного случая, но я надеюсь, что это может помочь кому-то в будущем.

0 голосов
/ 15 марта 2012

Вы ищите правильную папку: C: \ dev \ mysoft \ service \ api \ target \ classes Далее вы уже пытались сделать:

mvn clean package

вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...