[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