[Seasar-user:9147] Re: pom.xmlのdependencyにcommons-configuration-1.4.jarを追加するとNoSuchMethodError

Taro Unno [E-MAIL ADDRESS DELETED]
2007年 7月 13日 (金) 12:17:59 JST


海野です。

森脇さん、丁寧に教えてくださり、ありがとうございました。




07/07/13 に k. moriwaki<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 森脇です。
>
> > これには
> >     <dependency>
> >       <groupId>servletapi</groupId>
> >       <artifactId>servletapi</artifactId>
> >       <version>2.4</version>
> >       <optional>true</optional>
> >     </dependency>
> optionalがtrueになっているのでこれではありません。
>
> commons-configuration.jarが依存しているcommons-jxpath-1.2.jarの
> commons-jxpath-1.2.pomに
>
>    <dependency>
>      <groupId>servletapi</groupId>
>      <artifactId>servletapi</artifactId>
>      <version>2.2</version>
>    </dependency>
>
> と書かれているのでservletapi-2.2.jarが含まれることになります。
>
> さらにservletapi-2.2.pomを見ると
>
>    <relocation>
>      <groupId>javax.servlet</groupId>
>      <artifactId>servlet-api</artifactId>
>      <version>2.2</version>
>    </relocation>
>
> と書かれているので
>
>      <exclusion>
>        <groupId>javax.servlet</groupId>
>        <artifactId>servlet-api</artifactId>
>      </exclusion>
>
> とすることで除外する事ができます。
>
>
> 07/07/13 に Taro Unno<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > 海野です。
> >
> > 森脇さん、ずばり解決しました。
> > 大変助かりました。感謝致します。
> >
> > pom.xmlの勉強不足ですね、お恥ずかしい限りです。
> > 恥かきついでに、もう1つ、出来れば教えてください。
> >
> > 実は私もcommons-configurationのpomを見ていたのですが、ファイルは
> > http://repo1.maven.org/maven2/commons-configuration/commons-configuration/1.4/commons-configuration-1.4.pom
> > のことではないのでしょうか。
> > (セントラルリポジトリのpomで、こちらのローカルリポジトリにも
> > 同じものがダウンロードされています。)
> >
> > これには
> >     <dependency>
> >       <groupId>servletapi</groupId>
> >       <artifactId>servletapi</artifactId>
> >       <version>2.4</version>
> >       <optional>true</optional>
> >     </dependency>
> > と書かれていて、バージョンは2.4と書かれているのに
> > どうしてクラスパスには2.2が設定されるのかわかりませんでした。
> >
> > 森脇さんはどこのpom.xmlをご覧になったのですか?
> >
> > 宜しくお願い致します。
> >
> >
> > 07/07/13 に k. moriwaki<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > > 森脇と申します。
> > >
> > > commons-configurationのpom.xmlを見てみたところ、
> > > dependenciesに以下のJarが書かれていました。
> > >
> > > ・ant-optional-1.5.1.jar
> > > ・avalon-framework-4.1.3.jar
> > > ・commons-beanutils-1.7.0.jar
> > > ・commons-beanutils-core-1.7.0.jar
> > > ・commons-codec-1.3.jar
> > > ・commons-collections-3.2.jar
> > > ・commons-digester-1.8.jar
> > > ・commons-jxpath-1.2.jar
> > > ・commons-lang-2.3.jar
> > > ・commons-logging-1.1.jar
> > > ・commons-logging-api-1.0.4.jar
> > > ・jdom-b9.jar
> > > ・junit-3.8.jar
> > > ・log4j-1.2.12.jar
> > > ・logkit-1.0.1.jar
> > > ・servlet-api-2.2.jar
> > > ・xerces-1.2.3.jar
> > > ・xml-apis-1.0.b2.jar
> > >
> > > この中にservlet-api-2.2.jarとxerces-1.2.3.jarが含まれているため、
> > > classpathに追加されたのだと思います。
> > > なので
> > >
> > >       <dependency>
> > >               <groupId>commons-configuration</groupId>
> > >               <artifactId>commons-configuration</artifactId>
> > >               <version>1.4</version>
> > >       </dependency>
> > >
> > > を
> > >
> > >    <dependency>
> > >      <groupId>commons-configuration</groupId>
> > >      <artifactId>commons-configuration</artifactId>
> > >      <version>1.4</version>
> > >      <exclusions>
> > >        <exclusion>
> > >          <groupId>javax.servlet</groupId>
> > >          <artifactId>servlet-api</artifactId>
> > >        </exclusion>
> > >        <exclusion>
> > >          <groupId>xerces</groupId>
> > >          <artifactId>xerces</artifactId>
> > >        </exclusion>
> > >      </exclusions>
> > >    </dependency>
> > >
> > > とすれば含まれなくなるはずです。
> > > 後はプロジェクトに合わせてexclusionを追加すればよいかと思います。
> > >
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>



Seasar-user メーリングリストの案内