warファイルにしたJavaプロジェクトをEclipseにインポートしました。
すると、エクスポート前に追加したjarファイルが無くなってエラー表示が出たのでビルド・パスにもう1度jarファイルを追加しました。
それで、エラー表示は解消されたのですが、忠告と言うのでしょうか、以下のような文章が表示されます。

重大度および説明 パス リソース ロケーション 作成時刻 Id
クラスパス・エントリー C:/Tomcat 6.0/lib/mailapi.jar は、エクスポートまたは公開されません。実行時に ClassNotFoundExceptions が発生する可能性があります。

初めは追加した場所(ここではTomcat6.0)がいけないのか、と思い、1度やりなおしてjre1.6.0_06からも試したのですが、この忠告が表示されました。
この忠告を表示されないようにするにはどうしたら良いのでしょうか。
どうぞ宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

回答されていない質問を優先的に回答しているから


回答がついていると開いてもいなかったりするのよ。


mailapi.jarの警告をなくしたいなら
mailapi.jarをプロジェクトのlibフォルダにコピーしてきて
「プロジェクトのプロパティ」
>「Javaのビルドパス」
>「ライブラリ」
で、まず、現在設定されているmailapi.jar(C:/Tomcat 6.0/lib/mailapi.jar )を除去、
次に、「JARの追加」で先ほどlibフォルダに追加した
mailapi.jarを追加、
そして「OK」でプロパティを閉じる。

これでまたやってみて。
きっと警告が出なくなるはずよ。
    • good
    • 0
この回答へのお礼

>回答されていない質問を優先的に回答しているから
>回答がついていると開いてもいなかったりするのよ。
そうだったのですね。
自分の誤解という事がよく分かりました。
取り敢えず、言われたとおりにやってみます。

お礼日時:2009/05/20 09:15

たぶん、プロジェクトはtomcatプロジェクトね。



mailapi.jar
はプロジェクトのワークスペース外部にあるため
プロジェクトからwarファイルを作成した際に
warファイルに含まれないのよ。

そのため、warファイルを配布した場合、
mailapi.jarもちゃんと配布しないとダメよ

ていう警告が出ているのよ。
ただ、それだけ。
    • good
    • 0
この回答へのお礼

おお!!! 姉御からアドバイスを頂けるとは嬉しさと驚きでいっぱいです。
自分は嫌われた、と勝手に思い込んでいたもので。
ただ、少し違います。
間違った事を書いていたら存分に指摘して下さい。
プロジェクトは動的Webプロジェクトです。
サーバはTomcat6.0を使用しています。
これでも、姉御の言っている事は当て嵌まりますね。
問題は、どのフォルダからjarファイルを追加すればいいのか、と知識不足で大変恐縮ですが、配布は追加とは違うのですか。
新たにビルド・パスに追加しただけでは忠告がでます。
配布というのはどうすれば良いのでしょうか。
質問になってしまいましたが、どうぞ宜しくお願い致します。

お礼日時:2009/05/19 20:00

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qメールスプール一括削除をしてポート578で送信出来なくなりました。

メールスプール一括削除をしてポート578で送信出来なくなりました。

説明下手ですがよろしくお願いします。


最近Windows7に買い替えメールソフトがWindows Liveメールに変わりました。
アカウントの設定がサーバーにメールのコピーを置くという設定になっていて、サーバーがいっぱいになりぎみになり受信が出来ない状態になりました。

ので、その設定を外しましたがたまにエラーとなって返ってきたり(自分の携帯からPCにメールを送ると)していたのでプロバイダーのHPで色々調べメールスプール一括削除というのをしました。

自分では、サーバーにメールのコピーを置くという設定をしていたときのメールのコピーをすっきりさせたつもりでした。

しかしその後メールの送受信(WinLiveメールでは同期)をすると、受信は出来るのですが送信が不可に。

あれ?と思い メールスプール一括削除のことを忘れていてアカウントを削除し新規作成しましたがダメ。

システムの復元をし(このときもメールスプール一括削除を忘れてる)送受信してみるもダメ。

あ、とメールスプール一括削除を思い出しましたが直し方?がわからないので解決策を探し ネットで送信メールのポート番号がブロックされているかもとなっていたので 規定のポート25に変更しなんとか送信出来るようになったのですが・・・。

希望としてなぜそうなったのか?元のポート578では出来るように戻せないのかが知りたいです。

詳しい方教えてくれないでしょうか??

するんじゃなかったぁ~と後悔しまくりです・・・。

ちなみに
PCOS Windows7
メールソフト WindowsLiveメール
出たエラー  アカウント: '******', サーバー: '********', プロトコル: SMTP, ポート: 587, セキュリティ (SSL): なし, ソケット エラー: 10060, エラー番号: 0x800CCC0E
のようにでます。

プロバイダーはDIONでADSLです。

メールスプール一括削除をしてポート578で送信出来なくなりました。

説明下手ですがよろしくお願いします。


最近Windows7に買い替えメールソフトがWindows Liveメールに変わりました。
アカウントの設定がサーバーにメールのコピーを置くという設定になっていて、サーバーがいっぱいになりぎみになり受信が出来ない状態になりました。

ので、その設定を外しましたがたまにエラーとなって返ってきたり(自分の携帯からPCにメールを送ると)していたのでプロバイダーのHPで色々調べメールスプール一括削除と...続きを読む

Aベストアンサー

0x800CCC0Eへの対処法は決まっています。
http://121ware.com/qasearch/1007/app/servlet/qadoc?QID=011248
ですので、セキュリティ対策ソフトを終了させ、かつアカウント設定を削除して再作成しても駄目な場合は、Liveメール自体が壊れている可能性があるので、その場合はLiveメールを削除してしインストールするか、他のメールソフトをご利用下さい。

QJRE1.3.1_06とJRE1.3.1_07のPC内 共存方法

知人の相談なのですが
自治体の電子入札システムで
川崎市の入札画面に入るにはJRE1.3.1_06必須(以下06)
神奈川県入札画面に入るにはJRE1.3.1_07必須(以下07)

入札担当者に聞いたところPC内共存は できないので
神奈川入札時は06削除で07インストール
川崎入札時は07削除で06インストール。という回答。

削除はコントロールパネルからです
削除&インストール&設定は1分もあればOKなのですが

「こんな面倒くさいこと、いちいち やってられない
削除&インストールしなくて すむ方法ないものか?」と
相談持ちかけられました。

はたして PC内でバージョン違いのJava共存はできるのでしょうか?
06 07削除インストールしなくても、各自治体入札画面に
入っていけるように したいのです。

お願いいたします。

Aベストアンサー

件の入札システムを使用したことがないので確実なことはいえませんが…

まずインストール場所は個別に指定できるので両バージョンとも共存できます。
両バージョンの使い分けは環境変数PATHの設定のみです。環境変数はユーザごとにカスタマイズできるので、
川崎市のシステムを使うアカウントと神奈川県のシステムをつかうアカウントを別々に作成しておく、
環境変数を書き換えるバッチを作るなど、手段はいろいろあると思います。

Qポートについて

ユーザが送信元ポートをA,宛先ポートをXで相手のサーバに通信して,
そのレスポンスが送信元ポートY,宛先ポートAであった場合問題なく
通信を確立できますか?
この通信のプロトコルにもよるのでしょうか?

また,ユーザが送信元ポートをA,宛先ポートをXで相手のサーバに通信して,
そのレスポンスが送信元ポートY,宛先ポートBであった場合はどうでしょうか?

Aベストアンサー

結論から言うと、そのようにアプリケーションを組めば出来るということに
なると思いますが・・開発はちょっと専門外です
ただ通常のWebサーバやwwwクライアントではそういう機能は無いと思いますよ

TCPIPのソケットプログラム作成のHPを探しましたが
本の紹介はあってもHPで分かりやすく・・というのは無さそうです
TCPIPのソケットプログラミングの本を図書館などで見ていただくのが
確実と思います・・中途半端な回答で申し訳ないです

Qテーブル列の表示/非表示機能の追加~その2

やりたい事は、AAAの列だけ常に表示させておき、BBB(つまり3列分)を表示/非表示になる・・といった事です。
下のHTMLで、変数bbbには「3」が入っているのは確認できましたが、後がさっぱり続きません。

どうぞよろしくお願いいたします。

<html>
<head>
<script type="text/javascript">
<!--
function hide(idName) {
var aaa = document.getElementById(idName).childNodes;
var bbb = aaa[0].length;
alert(bbb);
//-->
</script>
</head>

<body>
<button onClick="hide('list1')">隠す</button>
<table border="1" cellpadding="2" cellspacing="1">
<tr>
<th rowspan="3">AAA</th>
<th colspan="3" id="list1">BBB</th>
</tr>
<tr>
<th width="120">BBB1</th>
<th width="120">BBB2</th>
<th width="120">BBB3</th>
</tr>
<tr>
<th>BBB11</th>
<th>BBB21</th>
<th>BBB31</th>
</tr>
<tr>
<td>aaa</td>
<td>aaa1</td>
<td>aaa2</td>
<td>aaa3</td>
</tr>
<tr>
<td>bbb</td>
<td>bbb1</td>
<td>bbb2</td>
<td>bbb3</td>
</tr>
<tr>
<td>ccc</td>
<td>ccc1</td>
<td>ccc2</td>
<td>ccc3</td>
</tr>
</table>
</body>
</html>

やりたい事は、AAAの列だけ常に表示させておき、BBB(つまり3列分)を表示/非表示になる・・といった事です。
下のHTMLで、変数bbbには「3」が入っているのは確認できましたが、後がさっぱり続きません。

どうぞよろしくお願いいたします。

<html>
<head>
<script type="text/javascript">
<!--
function hide(idName) {
var aaa = document.getElementById(idName).childNodes;
var bbb = aaa[0].length;
alert(bbb);
//-->
</script>
</head>

<body>
<button onClick="hide('list1')">隠...続きを読む

Aベストアンサー

同じような質問をしない方がよいです・・・。

かなり手を抜いてますがこういうことでどうでしょう?

<html>
<head>
<script>
function hide(n) {
var tags=document.getElementById("tbl1").getElementsByTagName("*");
for(var i=0;i<tags.length;i++){
var cn=tags[i].className;
if(cn==n) tags[i].className=n+" hide";
if(cn==n+" hide") tags[i].className=n;
}
}

</script>
<style>
.list1{
}
.hide{
display:none;
}

</style>

</head>
<!--京-->
<body>
<input type="button" value="隠す/見せる" onClick="hide('list1')">
<table border="1" cellpadding="2" cellspacing="1" id="tbl1">
<tr>
<th rowspan="3">AAA</th>
<th colspan="3" class="list1">BBB</th>
</tr>
<tr>
<th width="120" class="list1">BBB1</th>
<th width="120" class="list1">BBB2</th>
<th width="120" class="list1">BBB3</th>
</tr>
<tr>
<th class="list1">BBB11</th>
<th class="list1">BBB21</th>
<th class="list1">BBB31</th>
</tr>
<tr>
<td>aaa</td>
<td class="list1">aaa1</td>
<td class="list1">aaa2</td>
<td class="list1">aaa3</td>
</tr>
<tr>
<td>bbb</td>
<td class="list1">bbb1</td>
<td class="list1">bbb2</td>
<td class="list1">bbb3</td>
</tr>
<tr>
<td>ccc</td>
<td class="list1">ccc1</td>
<td class="list1">ccc2</td>
<td class="list1">ccc3</td>
</tr>
</table>
</body>
</html>

同じような質問をしない方がよいです・・・。

かなり手を抜いてますがこういうことでどうでしょう?

<html>
<head>
<script>
function hide(n) {
var tags=document.getElementById("tbl1").getElementsByTagName("*");
for(var i=0;i<tags.length;i++){
var cn=tags[i].className;
if(cn==n) tags[i].className=n+" hide";
if(cn==n+" hide") tags[i].className=n;
}
}

</script>
<style>
.list1{
}
.hide{
display:none;
}

</style>

</head>
<!--京-->
...続きを読む

QIP固定や、ポート開放をしたつもりだったのですが、

IP固定や、ポート開放をしたつもりだったのですが、
http://www.ugtop.com/spill.shtml
でポート番号を見たところ、設定したポート番号と違う上、ページ更新をするとポート番号が変わります。
これはポートがちゃんと開放されていないということなのでしょうか?

Aベストアンサー

>ポート番号を見たところ、設定したポート番号と違う上、ページ更新をするとポート番号が変わります。

そりゃ、クライアント(ブラウザ)がサーバに接続するポート番号は固定しないのが一般的だからです。
そのページでルータやファイヤーウォールなどのポート解放(ポートフォワーディングなど)の確認はできません。

TCPポートの指定した範囲への接続を試してくれるサイトが他にあるでしょう。
# そのポートで待ち受けしているアプリが起動していないと失敗と表示されるかも知れません。

Q-Applet表示でのjava.lang.ClassNotFoundException-

お世話になります。

只今、Appletの操作を勉強しています。

先日まで動いていた、Appletが急に表示されなくなってしまいました。

「appletviewer」で実行すると表示されるのですが、HTMLを叩くと表示されません。

JAVAコンソールには・・・

java.lang.ClassNotFoundException: javax.swing.JComboBox
at com/ms/vm/loader/URLClassLoader.loadClass (URLClassLoader.java)
at java/lang/ClassLoader.loadClassInternal (ClassLoader.java)
at DemoApplet.init (DemoApplet.java)
at com/ms/applet/AppletPanel.securedCall0 (AppletPanel.java)
at com/ms/applet/AppletPanel.securedCall (AppletPanel.java)
at com/ms/applet/AppletPanel.processSentEvent (AppletPanel.java)
at com/ms/applet/AppletPanel.processSentEvent (AppletPanel.java)
at com/ms/applet/AppletPanel.run (AppletPanel.java)
at java/lang/Thread.run (Thread.java)

・・・と、表示されています。

クラスパスの問題であれば、「appletviewer」でも動かないだろうし・・・何が問題なのでしょうか??

・・・行き詰まってます。

お世話になります。

只今、Appletの操作を勉強しています。

先日まで動いていた、Appletが急に表示されなくなってしまいました。

「appletviewer」で実行すると表示されるのですが、HTMLを叩くと表示されません。

JAVAコンソールには・・・

java.lang.ClassNotFoundException: javax.swing.JComboBox
at com/ms/vm/loader/URLClassLoader.loadClass (URLClassLoader.java)
at java/lang/ClassLoader.loadClassInternal (ClassLoader.java)
at DemoApplet.init (DemoApplet.java)
at com/ms/app...続きを読む

Aベストアンサー

>AppletTest.java:1: パッケージ com.sun.java.swing は存在しません。
import com.sun.java.swing.*;

パッケージ com.sun.java.swingは、swingall.jarにあります。
>javac -target 1.1 -classpath swingall.jar AppletTest.java
のように指定しているようですが、

C:\java\appletに、swingall.jarはありますか?

私が示している例を、分からないまま、そのまま実行するのではなく、
自分の環境に合わせて実行してくださいね。

Qポートスキャンでこちらのポートではなく相手方のポートをコロコロ変えてア

ポートスキャンでこちらのポートではなく相手方のポートをコロコロ変えてアクセスしてくるのは何故ですか?

アクセスしてきて、そのポートに入れなかったから、こちらの別ポートを探そうとしてくるならわかりますが、既にフィルタリングでブロックされて入れなかったのに、相手方のポートをコロコロ変えて入れなかったポートにアクセスし続ける意味がわからないのですが・・。
相手方のポートを変えることに意味があるのですか?

Aベストアンサー

別に変えたくてコロコロ変えているわけではないと思います

http://www.way-on.com.tw/PCbasal/internet/tcpip5.htm
「クライアントのポート番号には、OSによって動的(ダイナミック)に任意の番号を割り当てて使用されています」
ソースポート(クライアントのポート番号)は動的に割り振られますので

自分のPCでも、Webブラウザを開いて何度かアクセスしながらDOSプロンプトでnetstatコマンドを叩けばソースポートが変化しているのがわかるでしょう

QIE7-JRE1.6.0_07が正常動作しない

OSはXP_HEsp3です。
お聞きしたいのはタイトルの件なんですが、具体例を書きます。
現在困っているのは、
http://stocks.finance.yahoo.co.jp/stocks/chart/?code=4183.T&ct=z&t=ay&q=c&l=on&z=n&p=m65,m130,s,v&a=v
なんてページで、真中より下にある多機能チャート(Java)を見ようとして、小中大のどれもが表示されません。
新タブに表示されるのは、赤×印のアイコンと最下位行(Status行と呼ぶ?)に「ペ-ジが表示されました」のみです。
IE7-Settings<applet>にJRE1.6.0_07を使用(再起動が必要)には、
当然チェックは入ってます。
Firefox3で同操作すると、「Javaを有効にしてください。ウンヌンカンヌン」と出て、やはり表示されません。
勿論Firefoxでも有効にしてますって。
ハードウェアの問題ってことはないと思うのですが。
ソフトウェア設定の問題でしょうか。

Aベストアンサー

オフラインインストール版もあるはずです。
あと、こだわりがないのなら最新版で良いように思います。
バグFIXとかしてるでしょうし、アプレットなら尚更新しい方がセキュリティ的に良いんじゃないでしょうかね。

参考URL:http://java.sun.com/javase/downloads/?intcmp=1281

Qポート開放チェックとポートの状態

ポート開放チェックというサイトが多数あります。
グーグルで検索すれば何件かはヒットすると思います。

そういったサイトには必ず、ポートを使用するソフトウェアを起動します。
次にそのソフトウェアが使用するポート番号を入力します。
と書かれています。

ルーターのポートを開放し、ファイアウォールソフトのポートも開放し
ソフトを起動すればポートの開閉をチェックできるのは分かるのですが、
ルーターのポートは開放してあってもポートを使用するソフトウェアを
起動していないときのポートは開いているのでしょうか。
閉じているのでしょうか。

ふと気になったので質問させていただきました。
なお、ポートの開放の仕方を聞いているのではありません。

Aベストアンサー

未使用ポートなので状態はCLOSEDです。

Qjarのパス

実行、自身のクラスが含まれたjarファイルのパスを取得する方法はありますでしょうか?

/usr/local/lib/hello.jar の hello.class 実行中に、
"/usr/local/lib"というパス文字列を取りたい。


また、自身のjarに含まれるマニフェストファイルを取得する方法はありますでしょうか?
JarInputStream で jar を読み込み、getManifest で取得できますが、上記のように自身のjarの位置を調べるか、直接自身のマニフェストファイルを読み込める方法を探しております。

Aベストアンサー

Classクラスの、getResource(String)やgetResourceAsStream(String)等で、そのクラスからの相対的な場所のリソースを得られます。

たとえば、helloというクラスと同じディレクトリにあるresource.txtの場所を求めたい場合は、
Class helloClass = hello.class;
helloClass.getResource("./resource.txt");
このようにします。

/usr/local/lib/hello.jarからの相対的に/usr/local/libを求めるには、パッケージ階層にもよりますが、"../../.."等を指定すればいいと思います。

ただ、私もjarで固めた状態で試したことがないので、本当にできたかどうか、締め切る前に結果を教えて頂けるとうれしいです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング