IntelliJ Maven Projekt erstellen

MiMa

Top Contributor
Aktuell möchte ich in IJ ein Maven Projekt erstellen.
Ich habe mir etwas Literatur besorgt, muss aber zu IJ hier mal anfragen welche Projekterstellung am besten gewählt werden sollte.

1. New Projekt in dem Java, GIT und Maven ausgewählt werden kann
IntelliJNewProject.JPG

2. Maven Archetyp
IntelliJNewMaven.JPG

Danke
 

KonradN

Super-Moderator
Mitarbeiter
Also bei der zweiten Methode steht schon im Fenster: "To create a general Maven project, go to the New Project page,"

Wenn Du ein neues ("generelles") Maven Projekt erstellen willst, dann nutzt Du die erste Version.

Dieses Maven Archetype ist sowas wie ein Projekt-Template. Wenn Dir also ein Archetype angegeben wurde, dann kannst Du es nutzen, um gleich ein entsprechendes Projekt mit vielen Einstellungen zu bekommen. Du aknnst es Dir ja mal ansehen - Du wirst merken, wie unübersichtlich das ist. Ich würde davon also klar abraten!

Die üblichen Wege, die ich nutze, wenn ich ein neues Projekt haben will:

a) Wenn das Framework einen Wizard bietet zur Erzeugung eines Projektes, dann nutze ich diesen sehr gerne. Beispiele wären hier Spring Boot (start.spring.io), Vaadin (start.vaadin.io), Quarkus (code.quarkus.io), ... Wobei ich hier gestehen muss, dass ich es nicht mag, dass da ein Parent Projekt so viel vorgibt. ==> Bei Spring Projekten habe ich in der Vergangenheit die Einstellungen übernommen und dann die Parent POM raus geworfen. Das ist somit auch nur für schnelle Starts eine Lösung.

b) Ansonsten greife ich auf mein "Standard Projekt" zurück und kopiere mir da einfach die POM. Das oberste Motto bei Maven ist aus meiner Sicht das, was die Prinzen vor langer Zeit schon gesungen haben: "Das ist alles nur geklaut".

c) Den Weg über New Projekt nutze ich ggf. auch hin und wieder. Aber eigentlich ist diese Lösung schon gestrichen.

Eine große Problematik, die ich sehe: Es fehlt einfach zu viel. Zu einem Software Projekt gehören gewisse Dinge, die einfach ein Muss sind:
  • Bei dem Weg c fehlt die Ausführung der Unit Tests! Absolutes No Go! => Da muss also immer noch mindestens das surface Plugin eingefügt werden.
  • Dann gibt es eine statische Codeanalyse. PMD, Spotbugs, .... Sowas muss sein. Das gehört also definitiv dazu und muss reinkopiert werden in die POM.
  • Die Prüfung der Abhängigkeiten kann eine CI/CD Pipeline machen. Aber ich packe sowas gerne direkt in das Projekt - das nächste Plugin. Und da hier einige Warnungen kommen, wenn Versionen nicht festgelegt wurden, hat man direkt noch: Enforcer Plugin für Maven Version und die Festlegung der Version für alle Plugins.
  • Dann kommen ggf. so Dinge wie GraalVM mit Native Image oder JLink/JPackage (incl. Moditect!).

Daher ist bei meinen Projekten eigentlich immer der Weg über eines meiner "Template" Projekte. Davon habe ich derzeit zwei:
 
Hallo Konrad,

die Lösung ohne Module finde ich super. Mir ist nur eine Sache aufgefallen. Wenn man das Image mit jPackage erzeugen lässt, gibt es ein Problem mit dem Aufruf der "main class". Befindet sich die Main Class auf der zweiten Package Ebene, wird die Klasse ausgeführt.

Klasse "Main.java" in "net.schusser"
POM: <main.class>net.schusser.Main</main.class>
Geht!

Klasse "Main.java" in "net.schusser,consoletest"
POM: <main.class>net.schusser.consoletest.Main</main.class>
Geht nicht!

Das ist schon sehr sonderbar.

Aber die beiden POMs für Console und JavaFX sind super und hilfreicht.
 

KonradN

Super-Moderator
Mitarbeiter
Hallo Michael,

das sollte aber ebenso funktionieren.

Das Komma im Package ist vermutlich nur ein Tippfehler?
Bei IntelliJ muss man nach Änderungen am Maven Projekt dieses in IntelliJ aktualisieren.
Und wenn sich der Name / das Package der Klasse mit der main Methode geändert hat, dann muss man die Run Configuration ggf. auch anpassen wenn man aus IntelliJ starten möchte. Das darf man nicht vergessen.
Und einmal das Maven Ziel clean ausführen, damit dann beim nächsten Maven Lauf alles neu gebaut wird.

Du kannst aber auch gerne einmal die genauen Details zeigen. Entweder hier im Forum oder auch gerne einfach einmal per Email an mich senden. Dann schaue ich gerne einmal über so ein Projekt.
 
Hallo Konrad,

ja das war ein Typo.

Ich hatte immer das Paket gebaut mit:
mvn -PImage clean install

Trotzdem ging es nicht. Jetzt habe ich "target" mit dem Explorer gelöscht und jetzt geht es. Sehr seltsam, irgendwas hatte in "target" gestört.
 

KonradN

Super-Moderator
Mitarbeiter
Ok, der Aufruf hätte so ok sein sollen und das Löschen auch machen sollen. Lief evtl. noch ein Prozess im Hintergrund, der das Löschen verhindert hat?

Aber wichtig ist, dass es jetzt geht und das manuelle Löschen von taget war auf jeden Fall auch ein richtiger gut guter Schritt. Super, dass es jetzt geht!
 
Hallo Konrad,

ich habe jetzt versucht mein erstes Projekt nach Java 17 zu konvertieren. Leider hänge ich wieder etwas. Das Projekt besteht aus zwei Unterprojekte. Das erste ist eine Konsolenanwendung und scannt mein Fotoverzeichnis nach EXIF Tags und baut eine Historie auf. Diese wird in eine MySQL Datenbank gespeichert. Dieser Teil läuft als Scheduled Task. Der zweite Teil ist die Anzeige der Historie in einer JAVA FX GUI. Ich habe Deine beiden Beispiele als Startpunkt verwendet. Das erst Projekt Image läuft Das zweite Projekt Image startet nicht. Ich habe den STDERR in eine Datei umgeleitet:

Code:
javafx.fxml.LoadException:
file:/D:/Projects_11/PictureTagView/target/jpackage/picturetagview/app/picturetagview-1.0-SNAPSHOT.jar!/net/schusser/picturetagview/gui/app.fxml

    at javafx.fxml@21/javafx.fxml.FXMLLoader.constructLoadException(Unknown Source)
    at javafx.fxml@21/javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
    at javafx.fxml@21/javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
    at javafx.fxml@21/javafx.fxml.FXMLLoader.load(Unknown Source)
    at net.schusser.picturetagview.Main.initRootLayout(Main.java:47)
    at net.schusser.picturetagview.Main.start(Main.java:38)
    at javafx.graphics@21/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(Unknown Source)
    at javafx.graphics@21/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(Unknown Source)
    at javafx.graphics@21/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Unknown Source)
    at javafx.graphics@21/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(Unknown Source)
    at javafx.graphics@21/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
    at javafx.graphics@21/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics@21/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
    at com.sun.javafx.reflect.Trampoline.invoke(Unknown Source)
    at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
    at javafx.base@21/com.sun.javafx.reflect.MethodUtil.invoke(Unknown Source)
    at javafx.fxml@21/com.sun.javafx.fxml.MethodHelper.invoke(Unknown Source)
    ... 14 more
Caused by: java.lang.NoClassDefFoundError: java/sql/SQLException
    at net.schusser.picturetagview.gui.AppController.initialize(AppController.java:99)
    ... 24 more
Caused by: java.lang.ClassNotFoundException: java.sql.SQLException
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
    ... 25 more

Der JDBC Treiber wird nicht gefunden. Ich habe die beiden Dumps der Maven logs angehängt. Die GUI startet mit javafx:run. Das Problem liegt in dem Classpath oder Modulepath.
Hier sind die beiden POMS.

picturetags.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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <!-- Edit these to match your project -->
    <groupId>net.schusser</groupId>
      <artifactId>picturetags</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <name>Picture Tags</name>
      <description>Scans picture tags</description>

    <packaging>jar</packaging>

    <!-- Modify or remove -->
    <organization>
        <name>X-RAY S.D.C.</name>
    </organization>

    <!-- Properties of the project - Configuration is done here -->
    <properties>

        <!-- Application Properties -->
        <link.name>${project.artifactId}</link.name>
        <launcher>${project.artifactId}</launcher>
        <appName>${project.artifactId}</appName>
        <main.class>net.schusser.picturetags.EXIFTags</main.class>
        <main.module>AppModule</main.module>
        <java.version>17</java.version>
        <jar.filename>${project.artifactId}-${project.version}</jar.filename>
        <required.maven.version>3.6.3</required.maven.version>

        <!-- Dependency versions -->
           <log4j.version>2.19.0</log4j.version>
        <metadata-extractor.version>2.18.0</metadata-extractor.version>
        <mysql-connector-j.version>8.1.0</mysql-connector-j.version>
        <xmpcore.version>6.1.11</xmpcore.version>
      
      
        <jetbrains.annotations.version>24.0.1</jetbrains.annotations.version>
        <junit.version>5.9.3</junit.version>
        <lombok.version>1.18.26</lombok.version>
        <mockito.version>5.3.1</mockito.version>
        <pmd.version>6.55.0</pmd.version>
        <spotbugs.version>4.7.3</spotbugs.version>

        <!-- Plugin dependencies -->
        <codehaus.version.plugin>2.11.0</codehaus.version.plugin>
        <jpackage.maven.plugin>0.1.3</jpackage.maven.plugin>
        <maven.clean.plugin>3.2.0</maven.clean.plugin>
        <maven.compiler.plugin>3.10.1</maven.compiler.plugin>
        <maven.dependency.plugin>3.3.0</maven.dependency.plugin>
        <maven.deploy.plugin>3.0.0-M2</maven.deploy.plugin>
        <maven.enforcer.plugin>3.1.0</maven.enforcer.plugin>
        <maven.install.plugin>3.0.0-M1</maven.install.plugin>
        <maven.jar.plugin>3.2.2</maven.jar.plugin>
        <maven.pmd.plugin>3.16.0</maven.pmd.plugin>
        <maven.resources.plugin>3.2.0</maven.resources.plugin>
        <maven.site.plugin>4.0.0-M1</maven.site.plugin>
        <maven.surfire.plugin>3.0.0-M6</maven.surfire.plugin>
        <moditect.maven.plugin>1.0.0.RC2</moditect.maven.plugin>
        <native.maven.plugin>0.9.17</native.maven.plugin>
        <spotbugs.maven.plugin>4.7.2.0</spotbugs.maven.plugin>
        
        <!-- other properties -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>

    </properties>

    <dependencies>

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>${log4j.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        
        <dependency>
            <groupId>com.drewnoakes</groupId>
            <artifactId>metadata-extractor</artifactId>
            <version>${metadata-extractor.version}</version>
        </dependency>
        
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>${mysql-connector-j.version}</version>
        </dependency>

        <dependency>
            <groupId>com.adobe.xmp</groupId>
            <artifactId>xmpcore</artifactId>
            <version>${xmpcore.version}</version>
        </dependency>


        <!-- Lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
        </dependency>

        <!-- JUnit 5 -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-params</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>

        <!-- Mockito -->
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-junit-jupiter</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
        </dependency>

        <!-- Dependency used for @NotNull / @Nullable -->
        <dependency>
            <groupId>org.jetbrains</groupId>
            <artifactId>annotations</artifactId>
            <version>${jetbrains.annotations.version}</version>
            <scope>compile</scope>
        </dependency>

    </dependencies>

    <build>
        <finalName>${jar.filename}</finalName>

        <plugins>
            <!-- Enforcer to enforce min Maven version -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>${maven.enforcer.plugin}</version>
                <executions>
                    <execution>
                        <id>enforce-versions</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>${required.maven.version}</version>
                                </requireMavenVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!-- Compiler including Lombok -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven.compiler.plugin}</version>
                <configuration>
                    <release>${java.version}</release>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>${lombok.version}</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>

            <!--Test execution -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven.surfire.plugin}</version>
                <configuration>
                    <testFailureIgnore>true</testFailureIgnore>
                </configuration>
            </plugin>

          

            <!-- PMD static code analysis -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>${maven.pmd.plugin}</version>
                <dependencies>
                    <dependency>
                        <groupId>net.sourceforge.pmd</groupId>
                        <artifactId>pmd-core</artifactId>
                        <version>${pmd.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>net.sourceforge.pmd</groupId>
                        <artifactId>pmd-java</artifactId>
                        <version>${pmd.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>net.sourceforge.pmd</groupId>
                        <artifactId>pmd-javascript</artifactId>
                        <version>${pmd.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>net.sourceforge.pmd</groupId>
                        <artifactId>pmd-jsp</artifactId>
                        <version>${pmd.version}</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
                    <minimumTokens>100</minimumTokens>
                    <targetJdk>${java.version}</targetJdk>
                    <rulesets>
                        <ruleset>pmd-ruleset.xml</ruleset>
                    </rulesets>
                    <linkXRef>false</linkXRef>
                </configuration>
                <executions>
                    <execution>
                        <phase>prepare-package</phase>
                        <goals>
                            <!-- pmd does not stop build when violations are found -->
                            <goal>pmd</goal>

                            <!-- check stops the build when violations are found -->
                            <!-- <goal>check</goal> -->
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- Check for new versions in dependencies -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>versions-maven-plugin</artifactId>
                <version>${codehaus.version.plugin}</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>display-dependency-updates</goal>
                            <goal>display-plugin-updates</goal>
                            <goal>display-property-updates</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- clean plugin - to remove the warning regarding version -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <version>${maven.clean.plugin}</version>
            </plugin>

            <!-- deploy plugin - to remove the warning regarding version -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>${maven.deploy.plugin}</version>
            </plugin>

            <!-- install plugin - to remove the warning regarding version -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>${maven.install.plugin}</version>
            </plugin>

            <!-- jar plugin - to remove the warning regarding version -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>${maven.jar.plugin}</version>
            </plugin>

            <!-- resources plugin - to remove the warning regarding version -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>${maven.resources.plugin}</version>
            </plugin>

            <!-- site plugin - to remove the warning regarding version -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>${maven.site.plugin}</version>
            </plugin>
        </plugins>
    </build>

    <profiles>

        <!-- Profile that adds compiling to a native binary using
             GraalVM an Native Image https://www.graalvm.org/

             Add -PGraalVM or -DGraalVM to use this profile.
             -->
        <profile>
            <id>GraalVM</id>
            <activation>
                <property>
                    <name>GraalVM</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.graalvm.buildtools</groupId>
                        <artifactId>native-maven-plugin</artifactId>
                        <version>${native.maven.plugin}</version>
                        <extensions>true</extensions>
                        <executions>
                            <execution>
                                <id>build-native</id>
                                <goals>
                                    <goal>compile-no-fork</goal>
                                </goals>
                                <phase>package</phase>
                            </execution>
                            <execution>
                                <id>test-native</id>
                                <goals>
                                    <goal>test</goal>
                                </goals>
                                <phase>test</phase>
                            </execution>
                        </executions>
                        <configuration>
                            <imageName>${appName}</imageName>
                            <mainClass>${main.class}</mainClass>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- Profile that adds JLink and JPackage runs.

             Add -PImage or -DImage to use this profile.
             -->
        <profile>
            <id>Image</id>
            <activation>
                <property>
                    <name>Image</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <!-- Copy dependencies -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <version>${maven.dependency.plugin}</version>
                        <executions>
                            <!-- erstmal Abhängigkeiten für den Class-Path kopieren -->
                            <execution>
                                <id>copy-dependencies</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>copy-dependencies</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/modules</outputDirectory>
                                    <includeScope>runtime</includeScope>
                                    <overWriteReleases>false</overWriteReleases>
                                    <overWriteSnapshots>false</overWriteSnapshots>
                                    <overWriteIfNewer>true</overWriteIfNewer>
                                </configuration>
                            </execution>

                            <!-- dazu noch das Projekt-JAR -->
                            <execution>
                                <id>copy</id>
                                <phase>install</phase>
                                <goals>
                                    <goal>copy</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/modules</outputDirectory>
                                    <artifactItems>
                                        <artifactItem>
                                            <groupId>${project.groupId}</groupId>
                                            <artifactId>${project.artifactId}</artifactId>
                                            <version>${project.version}</version>
                                            <type>${project.packaging}</type>
                                            <destFileName>${project.build.finalName}.jar</destFileName>
                                        </artifactItem>
                                    </artifactItems>
                                    <overWriteIfNewer>true</overWriteIfNewer>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>com.github.akman</groupId>
                        <artifactId>jpackage-maven-plugin</artifactId>
                        <version>${jpackage.maven.plugin}</version>
                        <configuration>
                            <name>${appName}</name>
                            <type>IMAGE</type>
                            <mainclass>${main.class}</mainclass>
                            <input>${project.build.directory}/modules</input>
                            <mainjar>${jar.filename}.jar</mainjar>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>install</phase>
                                <goals>
                                    <goal>jpackage</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

    </profiles>

</project>

picturetagview.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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <!-- Edit these to match your project -->
    <groupId>net.schusser</groupId>
    <artifactId>picturetagview</artifactId>
    <version>1.0-SNAPSHOT</version>


    <organization>
        <name>R-RAY S.D.C.</name>
    </organization>
    
    <packaging>jar</packaging>
    
    <properties>
        <!-- Application Properties -->
        <link.name>${project.artifactId}</link.name>
        <launcher>${project.artifactId}</launcher>
        <appName>${project.artifactId}</appName>
        <main.class>net.schusser.picturetagview.Main</main.class>
        <java.version>17</java.version>
        <required.maven.version>3.6.3</required.maven.version>
        <jar.filename>${project.artifactId}-${project.version}</jar.filename>

        <resource.base>${basedir}/build</resource.base>
        <resource.icon>${resource.base}/icon</resource.icon>
        <resource.source>${resource.base}/data</resource.source>
        <resource.target>${project.build.directory}/jpackage/${appName}</resource.target>
        

        <!-- Dependency versions -->
           <log4j.version>2.20.0</log4j.version>
           <javafx.version>21</javafx.version>
           <controlsfx.version>11.1.2</controlsfx.version>
           <jdom.version>2.0.6.1</jdom.version>
           <mysql-connector-j.version>8.1.0</mysql-connector-j.version>
        
        
        <jetbrains.annotations.version>24.0.1</jetbrains.annotations.version>
        <junit.version>5.9.3</junit.version>
        <lombok.version>1.18.26</lombok.version>
        <mockito.version>5.3.1</mockito.version>

        <!-- Plugin dependencies -->
        <maven.clean.plugin>3.2.0</maven.clean.plugin>
        <maven.compiler.plugin>3.10.1</maven.compiler.plugin>
        <maven.dependency.plugin>3.3.0</maven.dependency.plugin>
        <maven.deploy.plugin>3.0.0-M2</maven.deploy.plugin>
        <maven.enforcer.plugin>3.1.0</maven.enforcer.plugin>
        <maven.install.plugin>3.0.0-M1</maven.install.plugin>
        <maven.jar.plugin>3.2.2</maven.jar.plugin>
        <maven.resources.plugin>3.2.0</maven.resources.plugin>
        <maven.site.plugin>4.0.0-M1</maven.site.plugin>
        <maven.surfire.plugin>3.0.0-M6</maven.surfire.plugin>
        <moditect.maven.plugin>1.0.0.RC2</moditect.maven.plugin>
        <jpackage.maven.plugin>0.1.5</jpackage.maven.plugin>
        <maven.pmd.version>3.16.0</maven.pmd.version>
        <pmd.version>6.55.0</pmd.version>
        <codehaus.version.plugin>2.11.0</codehaus.version.plugin>
        <javafx.maven.plugin>0.0.8</javafx.maven.plugin>
        <spotbugs.maven.plugin>4.7.2.0</spotbugs.maven.plugin>
        <spotbugs.version>4.7.3</spotbugs.version>

        <maven-antrun.version>3.1.0</maven-antrun.version>


        <!-- other properties -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <maven.compiler.release>${java.version}</maven.compiler.release>

    </properties>

    <dependencies>
        <!-- JavaFX dependencies -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-graphics</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-web</artifactId>
            <version>${javafx.version}</version>
        </dependency>

        <!-- controlsfx -->
        <dependency>
            <groupId>org.controlsfx</groupId>
            <artifactId>controlsfx</artifactId>
            <version>${controlsfx.version}</version>
        </dependency>   

        <!-- log4j -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>${log4j.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>${log4j.version}</version>
        </dependency>


        <!-- jdom2 -->
        <dependency>
            <groupId>org.jdom</groupId>
            <artifactId>jdom2</artifactId>
            <version>${jdom.version}</version>
        </dependency>
        
        <!-- mysql -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>${mysql-connector-j.version}</version>
        </dependency>

        <!-- Lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
            <scope>provided</scope>
        </dependency>

        <!-- JUnit 5 -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-params</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>

        <!-- Mockito -->
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-junit-jupiter</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
        </dependency>

        <!-- Dependency used for @NotNull / @Nullable -->
        <dependency>
            <groupId>org.jetbrains</groupId>
            <artifactId>annotations</artifactId>
            <version>${jetbrains.annotations.version}</version>
            <scope>compile</scope>
        </dependency>

    </dependencies>

    <build>
        <finalName>${jar.filename}</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>${maven.enforcer.plugin}</version>
                <executions>
                    <execution>
                        <id>enforce-versions</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>${required.maven.version}</version>
                                </requireMavenVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven.compiler.plugin}</version>
                <configuration>
                    <release>${java.version}</release>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>${lombok.version}</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <version>${maven.clean.plugin}</version>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>${maven.deploy.plugin}</version>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>${maven.install.plugin}</version>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>${maven.jar.plugin}</version>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>${maven.resources.plugin}</version>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>${maven.site.plugin}</version>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven.surfire.plugin}</version>
                <configuration>
                    <testFailureIgnore>true</testFailureIgnore>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>${maven.pmd.version}</version>
                <dependencies>
                    <dependency>
                        <groupId>net.sourceforge.pmd</groupId>
                        <artifactId>pmd-core</artifactId>
                        <version>${pmd.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>net.sourceforge.pmd</groupId>
                        <artifactId>pmd-java</artifactId>
                        <version>${pmd.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>net.sourceforge.pmd</groupId>
                        <artifactId>pmd-javascript</artifactId>
                        <version>${pmd.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>net.sourceforge.pmd</groupId>
                        <artifactId>pmd-jsp</artifactId>
                        <version>${pmd.version}</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
                    <minimumTokens>100</minimumTokens>
                    <targetJdk>${java.version}</targetJdk>
                    <linkXRef>false</linkXRef>
                    <rulesets>
                        <ruleset>pmd-ruleset.xml</ruleset>
                    </rulesets>
                </configuration>
                <executions>
                    <execution>
                        <phase>prepare-package</phase>
                        <goals>
                            <!-- pmd does not stop build when violations are found -->
                            <goal>pmd</goal>

                            <!-- check stops the build when violations are found -->
                            <!-- <goal>check</goal> -->
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>versions-maven-plugin</artifactId>
                <version>${codehaus.version.plugin}</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>display-dependency-updates</goal>
                            <goal>display-plugin-updates</goal>
                            <goal>display-property-updates</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- JavaFX Plugin to start application -->
            <plugin>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>${javafx.maven.plugin}</version>
                <configuration>
                    <mainClass>${main.class}</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>

        <!-- Profile that adds JLink and JPackage runs.

             Add -PImage or -DImage to use this profile.
             -->
        <profile>
            <id>Image</id>
            <activation>
                <property>
                    <name>Image</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <!-- Copy dependencies -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <version>${maven.dependency.plugin}</version>
                        <executions>
                            <!-- erstmal Abhängigkeiten für den Class-Path kopieren -->
                            <execution>
                                <id>copy-dependencies</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>copy-dependencies</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/modules</outputDirectory>
                                    <includeScope>runtime</includeScope>
                                    <overWriteReleases>false</overWriteReleases>
                                    <overWriteSnapshots>false</overWriteSnapshots>
                                    <overWriteIfNewer>true</overWriteIfNewer>
                                </configuration>
                            </execution>

                            <!-- dazu noch das Projekt-JAR -->
                            <execution>
                                <id>copy</id>
                                <phase>install</phase>
                                <goals>
                                    <goal>copy</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/modules</outputDirectory>
                                    <artifactItems>
                                        <artifactItem>
                                            <groupId>${project.groupId}</groupId>
                                            <artifactId>${project.artifactId}</artifactId>
                                            <version>${project.version}</version>
                                            <type>${project.packaging}</type>
                                            <destFileName>${project.build.finalName}.jar</destFileName>
                                        </artifactItem>
                                    </artifactItems>
                                    <overWriteIfNewer>true</overWriteIfNewer>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>com.github.akman</groupId>
                        <artifactId>jpackage-maven-plugin</artifactId>
                        <version>${jpackage.maven.plugin}</version>
                        <configuration>
                            <name>${appName}</name>
                            <type>IMAGE</type>
                            <icon>${resource.icon}/${appName}.ico</icon>
                            <modulepath>
                                <dependencysets>
                                    <dependencyset>
                                        <includenames>
                                            <includename>javafx\..*</includename>
                                        </includenames>
                                    </dependencyset>
                                </dependencysets>
                            </modulepath>
                            <addmodules>
                                <addmodule>javafx.controls</addmodule>
                                <addmodule>javafx.graphics</addmodule>
                                <addmodule>javafx.fxml</addmodule>
                                <addmodule>javafx.web</addmodule>
                            </addmodules>
                            <mainclass>${main.class}</mainclass>
                            <input>${project.build.directory}/modules</input>
                            <mainjar>${jar.filename}.jar</mainjar>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>install</phase>
                                <goals>
                                    <goal>jpackage</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                     <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <version>3.3.1</version>
                        <executions>
                          <execution>
                            <id>copy-resources</id>
                            <phase>install</phase>
                            <goals>
                              <goal>copy-resources</goal>
                            </goals>
                            <configuration>
                              <outputDirectory>${resource.target}</outputDirectory>
                              <resources>         
                                <resource>
                                  <directory>${resource.source}</directory>
                                  <includes>
                                      <include>**/*</include>
                                 </includes>
                                </resource>
                              </resources>             
                            </configuration>           
                          </execution>
                        </executions>
                      </plugin>
                </plugins>
            </build>
        </profile>

    </profiles>
</project>

Irgend etwas muß noch in dem PicturetagView.pom ergänzt werden.

Vielen Grüße,
Michael
 

Anhänge

  • picturetag_log.zip
    105,6 KB · Aufrufe: 0

KonradN

Super-Moderator
Mitarbeiter
Da fehlt dann vermutlich das Modul java.sql. Also einfach mal bei den addmodule Einträgen noch ein solcher Eintrag für java.sql hinzu fügen.
 
Hallo Konrad,

ich habe java.sql aufgenommen:
XML:
                             <addmodules>
                                <addmodule>javafx.controls</addmodule>
                                <addmodule>javafx.graphics</addmodule>
                                <addmodule>javafx.fxml</addmodule>
                                <addmodule>javafx.web</addmodule>
                                <addmodule>java.sql</addmodule>
                            </addmodules>

Hat leider das Problem nicht gelöst.
 

KonradN

Super-Moderator
Mitarbeiter
Ok, erste Erkenntnis ist, dass noch mehr Module fehlen. De Module, die man haben möchte, muss man dann doch alle hinzu fügen.

ChatGPT meint zwar, dass Wildcards gehen, aber das geht natürlich nicht. Dann muss man ggf. doch eine module-info.java beisteuern um so dann die Module alle zu bekommen, die man braucht. Wobei es da weiterhin Probleme gibt wie die Lokalisierung - die halt im Modul jdk.localedata sind und man ohne das halt alles mit default (US) locale hat...
 

KonradN

Super-Moderator
Mitarbeiter
Ein zweiter Ansatz ist, dass man auf die ganzen Module verzichtet und dann einfach JavaFX mit in dem unnamed Modul vorhält. Das gibt zwar eine Warnung:
WARNUNG: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @59662a0b'
aber das sollte erst einmal gehen.

Ggf. läuft es auf Probleme, wenn man etwas öffnen muss. Sollte sowas zur Laufzeit bemerkt werden, dann müsste man bei dem jpackage plugin in der configuration javaoptions angeben mit dem notwendigen --add-opens.
 

KonradN

Super-Moderator
Mitarbeiter
Da mir gerade auffällt, dass ich hier die genauen Details im pom.xml vergessen hatte:
Das jpackage plugin bekommt dann nur diese Einträge:
XML:
                    <plugin>
                        <groupId>com.github.akman</groupId>
                        <artifactId>jpackage-maven-plugin</artifactId>
                        <version>${jpackage.maven.plugin}</version>
                        <configuration>
                            <name>${appName}</name>
                            <type>IMAGE</type>
                            <icon>${resource.icon}/${appName}.ico</icon>
                            <mainclass>${main.class}</mainclass>
                            <input>${project.build.directory}/modules</input>
                            <mainjar>${jar.filename}.jar</mainjar>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>install</phase>
                                <goals>
                                    <goal>jpackage</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
(Das nur für den Fall, dass hier jemand anderes über den Thread stolpert mit so einem Problem. Das Projekt auf GitHub mit dem Template werde ich auch noch etwas anpassen nachdem ich es da etwas mehr getestet habe.)
 
Jetzt geht es! Man muss nur bedenken, dass man zusätzliche Verzeichnisse und Dateien nicht mehr über JPackage dazu bekommt. Der Parameter dafür ist "--input" der wird schon von dem Plugin benutzt um die kompilierten Klassen in das Packet zu bekommen. Ich habe dafür in das Profile Image das folgende Plugin hinzu gefügt:

XML:
<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>${maven-resources-plugin.version}</version>
    <executions>
        <execution>
            <id>copy-resources</id>
            <phase>install</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>${resource.target}</outputDirectory>
                <resources>         
                    <resource>
                        <directory>${resource.source}</directory>
                        <includes>
                            <include>**/*</include>
                        </includes>
                    </resource>
                </resources>             
            </configuration>           
        </execution>
    </executions>
</plugin>
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MiMa Netbeans zu IntelliJ mit Maven konvertieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
Y IDEA IntelliJ Warum findet IntelliJ die maven property nicht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
P Maven für Intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
mrBrown IntelliJ 2020.1 - Maven Projekte nicht ausführbar IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
E Maven-Installation für Intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
A IDEA IntelliJ IntelliJ Maven oder Webprojekt, kann keine normalen Java Klassen erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
MiMa IntelliJ GIT Local Zweig?? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
D Intellij source controll zeigt nicht alle klassen an ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
MiMa Die Sourcecode Verzeichnisse verschwinden in IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
M Eclipse oder IntelliJ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
krgewb IntelliJ durchsucht .log-Dateien IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
Oneixee5 IntelliJ JavaEE IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
krgewb GUI-Elemente in IntelliJ verschwunden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
MiMa IntelliJ Projekt umbenennen?? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
MiMa IntelliJ dubious ownership in reposity? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
JAnruVA IDEA IntelliJ JavaScript in IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
D Crawler funktioniert in intellij aber in Eclipse nicht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
W Speicherbelegung in IntelliJ auswerten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
N generate selected getters with intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
temi IDEA IntelliJ Intellij new UI IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
D strg + alt + B funktioniert nicht [IntelliJ] IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
MiMa IntelliJ GIT-Verzeigung zu Master hinzufügen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
MiMa Nebtbeans Projekte nach IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
L source folder und code highlighting IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 21
D lesen von json Dateien in Intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 13
MiMa Doppelten Code in IntelliJ finden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
H Branches vergleichen - GIT, IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
frager2345 Datenbankzugriff Intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
J IntelliJ IDEA IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
krgewb IntelliJ Idea - Alles eingeklappt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
LimDul IDEA IntelliJ Tipps für den Umstieg von Eclipse auf intelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
F IntelliJ IDEA Community Edition IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 26
S IDEA IntelliJ GUI Component Tree anzeigen in IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
D Intellij Memory Settings IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
krgewb In IntelliJ alles eingeklappt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
N IDEA IntelliJ Intellij lässt keine neuen archetypes erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
S IDEA IntelliJ Scenebuilder in Intellij Idea am MAC OS X IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
OnDemand IntelliJ Branching Master/DEV Berechtigungen möglich? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
9 IDEA IntelliJ Wie kann man ein JUnit Test bei IntelliJ durchführen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 11
9 IDEA IntelliJ IntelliJ lässt nicht ein Code ausführen, wenn irgendwo in andere Klasse Fehler ist. IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
krgewb IntelliJ - Zu application.properties springen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
O IntelliJ IDEA Lizenz IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 15
D Intellij mehrere Programme in einem Projekt bearbeiten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
M Intellij build jar funktioniert nicht ! IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
Z Intellij zeight H2-Datenbank nicht an IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
P Intellij "httpRequest" ins Projekt mit einbinden? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 49
temi IntelliJ, Gradle und Git: gitignore IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
N Frage zu meinen IntelliJ-Einstellungen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
W IntelliJ soll nicht immer alle Code-Files checken IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
Thallius Falsches Warning in IntelliJ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
D JavaFX 12 / SDK 12 -> IntelliJ error IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
R IDEA IntelliJ Intellij klaut mir zu viel zu viel Speicherplatz weg! IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 22
M Intellij IDEA lädt Font nicht und Darcula funktioniert nicht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
M Intellij IDEA Programm ohne Main-Methode starten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
Y Intellij mit Android SDK IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
B IntelliJ - .properties in jar einbinden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
U IDEA IntelliJ IntelliJ IDEA automatische Formatierung deaktivieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
K IntelliJ unter Linux: Probleme beim Ausführen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
M Idea IntelliJ - Starten der Mainmethode ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
K IDEA IntelliJ Umstieg von ADT (Eclipse) auf Android-Studio (IntelliJ IDEA) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
R intellij idea mit SVN tortoise 1.8 verwenden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
X "Extract Method Object" aus IntelliJ auch in Eclipse? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
U [IntelliJ] Variablen Refactoring IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
H Intellij 8.1.3 JDSK Probleme IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
S Metriktools für IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
M Grails Plugin in IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
A IntelliJ zeigt meine class-Files nicht an!? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
L Intellij IDEA 8 - Wie ist eure Meinung? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 38
J IDEA IntelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
G IDEA IntelliJ Problem IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
doopexxx Add an maven project to an existing maven project IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 23
Robertop Maven Warnung "'version' contains an expression but should be a constant" in Eclipse verstecken IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
O NetBeans Java Projekt OHNE Maven erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
O NetBeans Java Projekt OHNE Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
A Wie sind Multi-POM Maven Projects zu verwalten/releasen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
J Maven in Gradle builden? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 11
D Jenkins/Gradle maven-publish Problem IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
U Ich kann ein Plugin anhand von Maven nicht builden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
C Ändern der Hauptklasse und dependencys in maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
C maven startet jetty, netbeans "run" startet glassfish IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
J Eclipse Nach Maven Einstellung -> Ordner /target im Arbeitsverzeichnis IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
D Gradle - DSL und Repositories von Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
K Eclipse Seltsames Maven Compiler Verhalten mit OpenCV IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
K Netbeans + Maven: default pom Inhalt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
K Maven + GWT (+ Eclipse)? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
M Eclipse import eines maven projects "missing artifact" IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
D Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
N Maven dependencies Informationen finden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
F [Maven] cannot find plugins IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
J Eclipse Eclipse mit Maven mit Abhängigkeiten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
L Eclipse Eclipse - Projekte "mischen" Dynamisches Web Projekt + Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
G Maven - lokales Repository erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
D NetBeans Maven Projekt in Netbeans => WEKA wirft (java.lang.OutOfMemoryError: Java heap space) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
thet1983 Eclipse Eclipse - Maven - Wildfly - archetype:generate IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
G eclipse und Webprojekte mit Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
D Eclipse Eclipse deployment assmebly + Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
P Eclipse Maven Support IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
Tarrew Problem mit Maven und der Erkennung von generierten Antlr Files. IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
M [Maven] Depencies mit in jar übernehmen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
N Eclipse Maven , Javafx , SceneBuilder IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2

Ähnliche Java Themen

Neue Themen


Oben