質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

Apache Ant

Apache Antは、開発環境(OS等)に依存しにくい、Javaプロジェクト用のビルドツールです。

Q&A

解決済

1回答

2056閲覧

Ant コンパイル時servlet.jar が CLASSPATHで設定されているのに認識されない。

Ineda

総合スコア45

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

Apache Ant

Apache Antは、開発環境(OS等)に依存しにくい、Javaプロジェクト用のビルドツールです。

0グッド

0クリップ

投稿2021/06/10 08:09

編集2021/06/10 08:11

環境

JAVA
java version "1.6.0_41"
OpenJDK Runtime Environment (IcedTea6 1.13.13) (rhel-1.13.13.1.el7_3-x86_64)
OpenJDK 64-Bit Server VM (build 23.41-b41, mixed mode)

Ant
Apache Ant(TM) version 1.9.15 compiled on May 10 2020

現象

ANT実行時、「確実」にCLASSPATHにservlet.jarを設定しています(本当です泣!!)

しかし、ビルド実行したところ、以下のエラーメッセージが表示されました。

パッケージjavax.servlet.httpは存在しません

次にbuild.xmlに直接servlet.jarのパスを指定しました。

<fileset dir="/root/testV33/depends"> <include name="servlet.jar" /> </fileset>

この場合はビルド成功しました。
(参照できています。)

疑問

CLASSPATHに指定した、jarはANT実行時に上書きされたりするのでしょうか?

※追記
ビルドオプションで以下はfalseにしています。

includeantruntime="false"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コンパイル時servlet.jar が CLASSPATHで設定されているのに認識されない。

build.xmlにbuild.sysclasspath と言うプロパティが設定されていないせいですね。Antのマニュアルであるこちらをご覧ください。

build.sysclasspath - Apache Ant

Since Ant 1.7 the value of this property also affects the bootclasspath settings—it combines the bootclasspath that has been specified for a task with the bootclasspath of the JVM running Ant. If the property has not been set, it defaults to ignore in this case.

とあります。「If the property has not been set, it defaults to ignore in this case.」の意訳、「このプロパティがセットされていない場合、既定値はignoreになる」だそうです。build.xmlにこのプロパティの値を ignore以外でセットすれば使えるようになります。

xml

1<!-- build.xml: CLASSPATH環境変数を利用する例 --> 2<property name="build.sysclasspath" value="last" />

投稿2021/06/10 10:49

dodox86

総合スコア9254

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ineda

2021/06/10 23:47

解答ありがとうございました^^
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問