[Java lista] Maven dependencia
Elek Márton
einstand at gmail.com
2010. Már. 20., Szo, 20:46:25 CET
Én ezt próbálnám ki:
<plugins>
<plugin>
<groupId>AGroup</groupId>
<artifactId>AArtifact</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.12</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>
</plugins>
üdv
m.
ps:
A maven pluginek alapvetően nem látják a futtató maven projekt függőségeit.
A legtöbb esetben nem is kell, ritkán előfordul, hogy mégis kéne.
Ilyenkor azt a workaroundot szoktam látni, hogy a projekt leíróból
kiszedik a szükséges függőségeket, és miután resolválták (Maven
pluginből ugye ez nem túl bonyolult) kézzel összedobnak egy
classloadert, ami tartalmazza azokat a jar-okat is. (Lásd pl. JAX-WS
plugin. Aminek a működése közben elő is fordulnak néha furcsaságok
szerintem pont a classloaderes tákolás miatt).
A fenti eset persze nem ez az eset.
2010/3/20 sashee <gsashee at gmail.com>:
> Szia!
>
> Használ JDBC-t, de nem akarom a mysql-connector-java-t oda beégetni,
> mert lehet, hogy mondjuk máshol meg a pgsql-re lesz szükség. 'B' függ
> 'A'-tól.
>
> 'B' pom-jából ide vonatkozó részek:
> ...
> <plugins>
> <plugin>
> <groupId>AGroup</groupId>
> <artifactId>AArtifact</artifactId>
> <version>1.0-SNAPSHOT</version>
> </plugin>
> </plugins>
> ...
> <dependency>
> <groupId>AGroup</groupId>
> <artifactId>AArtifact</artifactId>
> <version>1.0-SNAPSHOT</version>
> </dependency>
> <dependency>
> <groupId>mysql</groupId>
> <artifactId>mysql-connector-java</artifactId>
> <version>5.1.12</version>
> <scope>runtime</scope>
> </dependency>
> ...
>
> 'A' pom-jából érdekes rész lehet talán:
> ...
> <packaging>maven-plugin</packaging>
> ...
>
> Tehát valahogy 'A' futásához akarok adni egy plusz dependenciát, amit
> 'B'-ben veszek fel, és a buildet is 'B'-ből indítom.
>
> Remélem így már érthetőbb
>
> sashee
>
> 2010/3/20 Forgó Zoltán <zforgo at gmail.com>:
>> Üdv!
>> Nem igazán értem. A használ JDBC-t, de nem akarod felvenni oda a drivert?
>> A és B milyen viszonyban van egymással?
>> Ha B függ A projekttől vagy modultól, akkor bizonyos esetben A függőségeit
>> látja tranzitív függőségként. De nyilván A nem lát B-ből semmit. Nem is
>> dolga és ez így van jól.
>> Esetleg konkrét pom.xml-lel tudsz szolgálni?
>> Z
>>
>> 2010/3/20 sashee <gsashee at gmail.com>
>>>
>>> Sziasztok!
>>>
>>> Próbálkozok Mavennel, de el is akadtam rögtön. Adott 2 projectem, 'A'
>>> és 'B'. 'A' egy framework, ami tud adatbázist kezelni JDBC-vel, de
>>> értelemszerűen nem akarom ide felvenni a JDBC drivert dependenciának.
>>> 'A'-ban vannak MOJO-k, amiket 'B'-ből szeretnék hívni, ami kezel
>>> adatázist. Azt szeretném elérni, hogy a konkrét JDBC driver-t csak
>>> 'B'-ben kelljen felvenni dependenciának. Most viszont amikor 'B'-ből
>>> meghívom (parancssorból) 'A'-t, akkor nem fogja hozzááadni a
>>> dependenciáit. Tehát az utasítás, amit használok: mvn
>>> AGroupId:AArtifactId:AGoal, de a 'B' projecten belül adom ki. Hogyan
>>> lehetne neki megmondani, hogy a 'B'-ben beállított JDBC drivert is
>>> használja ilyenkor?
>>>
>>> Köszi előre is, remélem érthető a probléma
>>>
>>> sashee
>>> _______________________________________________
>>> Javalist mailing list
>>> Javalist at javagrund.hu
>>> http://javagrund.hu/mailman/listinfo/javalist
>>
>>
>> _______________________________________________
>> Javalist mailing list
>> Javalist at javagrund.hu
>> http://javagrund.hu/mailman/listinfo/javalist
>>
>>
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
További információk a(z) Javalist levelezőlistáról