Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Maven dependiency


FnordyWharf6815

Rekomendowane odpowiedzi

Opublikowano

No dodajesz go jako dependency?

Albo jeszcze szybszy sposób, to o ile się znajdują w tym samym projekcie (moduły) czy repo, to skorzystaj z jakieś klasy z tego drugiego pluginu, jak się podświetli na czerwono to ALT + ENTER i tam masz add dependency i automatycznie sobie zabierze.

784091427630431250239.png

Regulamin sygnatur

Opublikowano

@Oldis

 

Jak robię w taki sposób:
 

        <dependency>
            <groupId>com.domain</groupId>
            <artifactId>plugin</artifactId>
            <version>1.0</version>
            <scope>provided</scope>
        </dependency>

To tylko w "version" 1.0 podświetla się na czerwono i nie działa :/

 

Nie nie są w tym samym projekcje.

Opublikowano

@mrkacperek

		<executions>
                    <execution>
                        <id>plugin</id>
                        <phase>clean</phase>
                        <configuration>
                            <file>plugin-1.0-SNAPSHOT.jar</file>
                            <repositoryLayout>default</repositoryLayout>
                            <groupId>com.domain</groupId>
                            <artifactId>plugin</artifactId>
                            <version>1.0-SNAPSHOT</version>
                            <packaging>jar</packaging>
                            <generatePom>true</generatePom>
                        </configuration>
                        <goals>
                            <goal>install-file</goal>
                        </goals>
                    </execution>

w "<file>" mam podać ścieżkę do skompilowanego jaru?

Opublikowano

@mrkacperek

 

Mam tak i nie działa :C

 

<?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>

    <name>Plugin2</name>
    <groupId>com.domain</groupId>
    <artifactId>plugin2</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <repositories>
        <repository>
            <id>spigot-repo</id>
            <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
        </repository>
        <repository>
            <id>vault-repo</id>
            <url>http://nexus.hc.to/content/repositories/pub_releases</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.11.2-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.bukkit</groupId>
            <artifactId>bukkit</artifactId>
            <version>1.11.2-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>net.milkbowl.vault</groupId>
            <artifactId>VaultAPI</artifactId>
            <version>1.6</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.domain</groupId>
            <artifactId>plugin1</artifactId>
            <version>1.0-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <defaultGoal>clean install</defaultGoal>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.5.2</version>
                <executions>
                    <execution>
                        <id>plugin1-external</id>
                        <phase>clean</phase>
                        <configuration>
                            <file>libs/plugin1-1.0-SNAPSHOT.jar</file>
                            <repositoryLayout>default</repositoryLayout>
                            <groupId>com.domain</groupId>
                            <artifactId>plugin1</artifactId>
                            <version>1.0-SNAPSHOT</version>
                            <packaging>jar</packaging>
                            <generatePom>true</generatePom>
                        </configuration>
                        <goals>
                            <goal>install-file</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.4.1</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.plexus</groupId>
                        <artifactId>plexus-compiler-eclipse</artifactId>
                        <version>2.5</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

</project> 

 

 

Opublikowano

Jary przy dwóch pluginach które korzystają z mavena? Po co?

Zbuduj ten pierwszy projekt mavenem jak biały człowiek a znajdzie się on w lokalnym repozytorium (czyli np. w ~/.m2/repository/) jako com/domain/plugin/1.0-SNAPSHOT/plugin-1.0-SNAPSHOT-cośtamcośtam.jar. Ten plik zostanie automatycznie wykryty jako dependency jeśli użyjesz tak jak pokazałeś w poście #3.

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Opublikowano

Nie wiem co tam nacudowałeś, ale to raczej dziwne rozwiązanie... Polecam powłokę, ale jak ktoś woli IDE to według tego screena:

2017-04-29-200724_412x408_scrot.png

Dodaj mój nick do posta jeśli potrzebujesz pomocy | Piszę pluginy na zlecenie | Pomagam z Linuxem

newlogo.png

Opublikowano

@MarcinWieczorek

 

Dopiero zaczynam z Mavenem, ale dzięki za podpowiedź :D

A z tym cudowaniem to chyba wina tego "clean package". Bo to jest komenda która była wykonywana przy budowaniu pluga i dlatego nie generował się jar. (Tak wynika z mojej teorii :D)
Tą komendę wpisywałem według jakiegoś poradnika zbytnio nie czytając jego treści a lecąc po samych screenach i tak to później jest, że coś nie działa.

Jeszcze raz dzięki za pomoc :D

Opublikowano

@MarcinWieczorek

 

Dopiero zaczynam z Mavenem, ale dzięki za podpowiedź :D

A z tym cudowaniem to chyba wina tego "clean package". Bo to jest komenda która była wykonywana przy budowaniu pluga i dlatego nie generował się jar. (Tak wynika z mojej teorii :D)

Tą komendę wpisywałem według jakiegoś poradnika zbytnio nie czytając jego treści a lecąc po samych screenach i tak to później jest, że coś nie działa.

Jeszcze raz dzięki za pomoc :D

clean package to przygotowuje tylko program/jar, w sensie

clean - usuwa wszystkie pliki z poprzedniej kompilacji, tak właściwe nie jest to wymagane ale tak już się przyjęło bo raz na rok coś się zbuguje, więc tak jest bezpieczniej.

package - wykonuje sporo innych kroków na końcu tworząc .jar

 

a jest jeszcze goal "install" i to on cię interesuje jak chcesz by to było w repo

install - robi to samo co package a na końcu dodaje do lokalnego repo.

 

Jak chcesz się dowiedzieć więcej (tak na prawdę nie potrzebujesz jeszcze tego znać, na początku każdy zna tylko clean install :D)

https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

1438614356923701010629.png

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...