Maven maven-source-plugin is missing

  • Themenstarter Themenstarter hk
  • Beginndatum Beginndatum

hk

Bekanntes Mitglied
Ich benutze NetBean 12.6 und JDK 17.0.1. Habe mein erstes Maven-Programm erstellt und beim exekutieren folgende Meldung bekommen:
Code:
Some problems were encountered while building the effective model for com.mycompany:mavenproject1:jar:1.0-SNAPSHOT
'build.plugins.plugin.version' for org.apache.maven.plugins:maven-source-plugin is missing. @ org.apache.maven:maven-model-builder:3.6.3:super-pom, jar:file:/C:/Program%20Files/NetBeans-12.6/netbeans/java/maven/bin/../lib/maven-model-builder-3.6.3.jar!/org/apache/maven/model/pom-4.0.0.xml, line 113, column 19
'build.plugins.plugin.version' for org.apache.maven.plugins:maven-javadoc-plugin is missing. @ org.apache.maven:maven-model-builder:3.6.3:super-pom, jar:file:/C:/Program%20Files/NetBeans-12.6/netbeans/java/maven/bin/../lib/maven-model-builder-3.6.3.jar!/org/apache/maven/model/pom-4.0.0.xml, line 125, column 19
'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ org.apache.maven:maven-model-builder:3.6.3:super-pom, jar:file:/C:/Program%20Files/NetBeans-12.6/netbeans/java/maven/bin/../lib/maven-model-builder-3.6.3.jar!/org/apache/maven/model/pom-4.0.0.xml, line 137, column 19

It is highly recommended to fix these problems because they threaten the stability of your build.
Dann habe ich mit mvn help:effective-pom folgende Fehlermeldung bekomme:
Code:
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  2.968 s
[INFO] Finished at: 2022-01-02T09:40:02+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-help-plugin:3.2.0:effective-pom (default-cli): Goal requires a project to execute but there is no POM in this directory (C:\Programme\netbeans-12.6\netbeans\java\maven\bin). Please verify you invoked Maven from the correct directory. -> [Help 1]

Ich nehme an mir fehlt die super-POM, wie kann ich die bekommen bzw erstellen?
lg heinz
 
Zuletzt bearbeitet von einem Moderator:
Also als erstes würde mich interessieren, was Du überhaupt genau versuchst wenn Du den zuerst genannten Fehler bekommst. Und natürlich: Bitte die ganze Ausgabe bringen und nicht nur Auszüge! Und dann wäre auch immer deine pom.xml wichtig.

Dann: help:effective-pom soll ja eine pom.xml erzeugen/aufbauen, die alles enthält, das unter dem Strich dann verwendet wird. Damit das geht, muss natürlich die pom.xml vorliegen. Daher: Geh in Das Verzeichnis mit Deinem Projekt und rufe maven dort auf (also z.B. einfach per
C:\Programme\netbeans-12.6\netbeans\java\maven\bin\mvn <deine Parameter>
(Oder Du lädst Dir einfach Maven direkt von der Homepage herunter und verwendest das dann - ich habe sowas unter windows meist in c:\apps\maven entpackt - da ist der Pfad einfach kürzer. Das kann in so fern nützlich sein, als dass ich nicht weiss, ob Netbeans da wirklich einfach nur eine Maven Version ohne jede Anpassung mitgegeben hat. Das ist zwar wahrscheinlich, aber darauf verlasse ich mich nicht in so Fällen)

Und zur Super-POM - Nein, die kann Dir nicht fehlen! Bei Maven gilt "Convention over Configuration" - vieles ist einfach per Standard festgelegt und damit benötigst Du keine Konfiguration mehr. Das kann man sich vorstellen wie eine "Super-POM", die immer als Parent POM eingebunden wird. Das findet sich dann z.B. unter https://maven.apache.org/ref/3.0.4/maven-model-builder/super-pom.html.
 
Danke für die rasche Antwort!
Ich habe Maven jetzt heruntergeladen und in das Verzeichnis C:\mav\apache-maven.3.8.4-bin\apache-maven.3.8.4 extrahiert und in Netbean bei Maven Home dieses Verzeichnis angegeben. Nach Exekution:
cd D:\Heinz\EigeneProgrammeSource\NetBeansProjects\MAVEN-Projekte\mavenproject1; JAVA_HOME=C:\\Programme\\Java\\jdk-17.0.1 M2_HOME=C:\\mav\\apache-maven-3.8.4-bin\\apache-maven-3.8.4 cmd /c "\"C:\\mav\\apache-maven-3.8.4-bin\\apache-maven-3.8.4\\bin\\mvn.cmd\" -Dexec.vmArgs= -Dexec.appArgs= \"-Dmaven.ext.class.path=C:\\Program Files\\NetBeans-12.6\\netbeans\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 -Prelease-profile javafx:run"
Running NetBeans Compile On Save execution. Phase execution is skipped and output directories of dependency projects (with Compile on Save turned on) will be used instead of their jar artifacts.
Scanning for projects...

Some problems were encountered while building the effective model for com.mycompany:mavenproject1:jar:1.0-SNAPSHOT
'build.plugins.plugin.version' for org.apache.maven.plugins:maven-source-plugin is missing. @ org.apache.maven:maven-model-builder:3.8.4:super-pom, jar:file:/C:/mav/apache-maven-3.8.4-bin/apache-maven-3.8.4/lib/maven-model-builder-3.8.4.jar!/org/apache/maven/model/pom-4.0.0.xml, line 113, column 19
'build.plugins.plugin.version' for org.apache.maven.plugins:maven-javadoc-plugin is missing. @ org.apache.maven:maven-model-builder:3.8.4:super-pom, jar:file:/C:/mav/apache-maven-3.8.4-bin/apache-maven-3.8.4/lib/maven-model-builder-3.8.4.jar!/org/apache/maven/model/pom-4.0.0.xml, line 125, column 19
'build.plugins.plugin.version' for org.apache.maven.plugins:maven-deploy-plugin is missing. @ org.apache.maven:maven-model-builder:3.8.4:super-pom, jar:file:/C:/mav/apache-maven-3.8.4-bin/apache-maven-3.8.4/lib/maven-model-builder-3.8.4.jar!/org/apache/maven/model/pom-4.0.0.xml, line 137, column 19

It is highly recommended to fix these problems because they threaten the stability of your build.

For this reason, future Maven versions might no longer support building such malformed projects.


--------------------< com.mycompany:mavenproject1 >---------------------
Building mavenproject1 1.0-SNAPSHOT
--------------------------------[ jar ]---------------------------------

>>> javafx-maven-plugin:0.0.4:run (default-cli) > process-classes @ mavenproject1 >>>

--- maven-resources-plugin:2.6:resources (default-resources) @ mavenproject1 ---
Using 'UTF-8' encoding to copy filtered resources.
skip non existing resourceDirectory D:\Heinz\EigeneProgrammeSource\NetBeansProjects\MAVEN-Projekte\mavenproject1\src\main\resources

--- maven-compiler-plugin:3.8.0:compile (default-compile) @ mavenproject1 ---
Nothing to compile - all classes are up to date

<<< javafx-maven-plugin:0.0.4:run (default-cli) < process-classes @ mavenproject1 <<<


--- javafx-maven-plugin:0.0.4:run (default-cli) @ mavenproject1 ---
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 14.261 s
Finished at: 2022-01-02T12:30:58+01:00
------------------------------------------------------------------------
<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>
<groupId>com.mycompany</groupId>
<artifactId>mavenproject1</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>13</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.4</version>
<configuration>
<mainClass>com.mycompany.mavenproject1.App</mainClass>
</configuration>
<executions>
<execution>
<!-- Default configuration for running -->
<!-- Usage: mvn clean javafx:run -->
<id>default-cli</id>
</execution>
<execution>
<!-- Configuration for manual attach debugging -->
<!-- Usage: mvn clean javafx:run@debug -->
<id>debug</id>
<configuration>
<options>
<option>-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:8000</option>
</options>
</configuration>
</execution>
<execution>
<!-- Configuration for automatic IDE debugging -->
<id>ide-debug</id>
<configuration>
<options>
<option>-agentlib:jdwp=transport=dt_socket,server=n,address=${jpda.address}</option>
</options>
</configuration>
</execution>
<execution>
<!-- Configuration for automatic IDE profiling -->
<id>ide-profile</id>
<configuration>
<options>
<option>${profiler.jvmargs.arg1}</option>
<option>${profiler.jvmargs.arg2}</option>
<option>${profiler.jvmargs.arg3}</option>
<option>${profiler.jvmargs.arg4}</option>
<option>${profiler.jvmargs.arg5}</option>
</options>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Meldung nach wie vor vorhanden
 
Ok, einfach einmal paar Dinge:

a) Das eigene Maven nutzen meinte eigentlich, dass Du es auf der Kommandozeile selbst aufrufst, also etwas wie:
Eine Eingabeaufforderung öffnen um dann zu sagen
cd D:\Heinz\EigeneProgrammeSource\NetBeansProjects\MAVEN-Projekte\mavenproject1
C:\mav\apache-maven-3.8.4-bin\apache-maven-3.8.4\bin\mvn javafx:run

Dabei dürften die Meldungen dann nicht kommen. Sobald Du aber das -P release-profile hinzu fügst (nach dem \mvn und vor dem javafx!), dann kommen die Meldungen wieder.

b) Das bedeuten die Meldungen?
Mit den Meldungen wirst Du daraus hingewiesen, dass es ein paar Maven Plugins gibt, für die keine Version vorgegeben wurde. Die Abhängigkeiten sollten aber genau definiert sein. Daher wäre hier eine Lösung, bei den entsprechenden Plugins eine Version vorzugeben. Dazu innerhalb der plugins Sektion noch hinzufügen:
Java:
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.2.1</version>           
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.3.1</version>
            </plugin>

Dann wären diese Warnungen weg.
 
Allerdings verstehe ich deine obige Anmerkung nicht, denn ich habe in der pom.xml kein \mvn.
Im ersten Abschnitt ging es nicht um Deine pom.xml sondern schlicht darum, wie Maven auf der Kommandozeile ohne Netbeans nutzen kannst.
Da Du Windows benutzt, habe ich daher die Schritte über die Eingabeaufforderung beschrieben. Und die beiden Befehle solltest Du ausführen können. Der erste wechselt nur in das Verzeichnis, in dem deine pom.xml liegen müsste. Und das zweite startet das mvn Script aus dem bin Verzeichnis von dem Maven, das Du installiert hast.
 

Neue Themen


Zurück
Oben