• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

I

it2021079

@it2021079
About
Posts
3
Topics
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

    Maven compilation error
  • I it2021079

    Σας ευχαριστώ πολύ. Το ψάξαμε λίγο και εμείς και βρήκαμε το maven-shade-plugin. Αυτό προσθέτει στο calendar.jar τα jars των βιβλιοθηκών που χρειαζόμαστε και δημιουργεί και ένα original-calendar.jar χωρίς αυτά, που δεν χρειάζεται να χρησιμοποιηθεί. Υπάρχει θέμα να χρησιμοποιήσουμε το maven-shade-plugin και να μην το κάνουμε με maven-assembly-plugin που μας στείλατε;

    <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.3.0</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <createDependencyReducedPom>false</createDependencyReducedPom>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>org.example.CalendarApp</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>```

  • Maven compilation error
  • I it2021079

    Αυτό είναι και το 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>
    
        <groupId>org.example</groupId>
        <artifactId>calendar</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <java.version>11</java.version>
        </properties>
    
        <repositories>
            <repository>
                <id>gitlab-maven</id>
                <url>https://gitlab.com/api/v4/projects/41008035/packages/maven</url>
            </repository>
        </repositories>
    
        <dependencies>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
            </dependency>
    
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
            </dependency>
    
            <dependency>
                <groupId>gr.hua.dit.oop2</groupId>
                <artifactId>calendar</artifactId>
                <version>1.0.0</version>
            </dependency>
        </dependencies>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                    <version>1.7.31</version>
                </dependency>
    
                <dependency>
                    <groupId>ch.qos.logback</groupId>
                    <artifactId>logback-classic</artifactId>
                    <version>1.2.3</version>
                    <scope>runtime</scope>
                </dependency>
    
                <dependency>
                    <groupId>org.junit.jupiter</groupId>
                    <artifactId>junit-jupiter</artifactId>
                    <version>5.7.2</version>
                    <scope>test</scope>
                </dependency>
    
                <dependency>
                    <groupId>org.assertj</groupId>
                    <artifactId>assertj-core</artifactId>
                    <version>3.20.2</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <build>
            <finalName>calendar</finalName>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                </plugin>
            </plugins>
    
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <version>3.8.1</version>
                        <configuration>
                            <release>${java.version}</release>
                            <parameters>true</parameters>
                            <showDeprecation>true</showDeprecation>
                            <failOnWarning>true</failOnWarning>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <version>2.22.2</version>
                    </plugin>
    
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <version>3.2.0</version>
                        <executions>
                            <execution>
                                <id>copy-dependencies</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>copy-dependencies</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/lib</outputDirectory>
                                    <includeScope>runtime</includeScope>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
    
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <version>3.2.0</version>
                        <configuration>
                            <archive>
                                <manifest>
                                    <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                                    <addClasspath>true</addClasspath>
                                    <classpathPrefix>lib/</classpathPrefix>
                                    <mainClass>org.example.CalendarApp</mainClass>
                                </manifest>
                            </archive>
                        </configuration>
                    </plugin>
                </plugins>
            </pluginManagement>
        </build>
    </project>
    
    

  • Maven compilation error
  • I it2021079

    @acharal Ήθελα να σας ρωτήσω για ένα θέμα που έχουμε όταν κάνουμε mvn package. Όταν εκτελούμε την εντολή, δημιουργείται το target folder μέσα στο οποίο βρίσκεται το jar. Όταν εκτελούμε το java -jar calendar.jar <option> <filename> μέσα στο target folder λειτουργεί κανονικά, άμα αλλάξουμε Directory το .jar και το τοποθετήσουμε πχ στο Desktop δεν τρέχει και βγάζει το εξής error:
    Exception in thread "main" java.lang.NoClassDefFoundError: gr/hua/dit/oop2/calendar/TimeService
    at org.example.Calendar.printEventsUntilEndOfDay(Calendar.java:118)
    at org.example.CalendarApp.main(CalendarApp.java:67)
    Caused by: java.lang.ClassNotFoundException: gr.hua.dit.oop2.calendar.TimeService
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 2 more και το pom.xml το οποίο φτιάξαμε είναι με βάση το java-maven-skeleton απλά με ελάχιστες αλλαγές

  • Login

Powered by NodeBB Contributors
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups