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

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

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

JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

1回答

2097閲覧

Eclipse上で実行するとうまくいくが、jar形式で実行するとエラーがでる。

yukkuri_55

総合スコア240

JAR

JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2019/12/01 13:00

編集2019/12/01 18:38

タイトルの通りですが、Eclipse上で実行するとうまくいき、
jar形式に出力して、実行するとエラーがおきます。

試しに Eclipse 上で 1-10 のファイルのダウンロードをためしたところうまくいきました。
しかし、jar形式で 1-15 のファイルのダウンロードを試みると、1-10はスキップで
いいのですが、11-15 がエラーがでてダウンロードできません。

https://prcm.jp/list/ソードアートオンライン?page=xx
のURLを指定しています。xxにページの番号がきます。

なぜ、Eclipseではうまくいくのに、jar形式だとうまくダウンロードができないのでしょうか?

[環境]
OS:Windows10 Pro
IDE:Eclipse
言語:Java
1.Eclipse上で実行
2.jar形式に変換して実行

ログを出すと以下のようになります。

(INFO szKeyword:ソードアートオンライン
(INFO num:15
(DEBUG)m_szURL:https://prcm.jp/list/
(DEBUG)m_szKeyword:ソードアートオンライン
(DEBUG)m_num:15
(STEP1) 1/15
(STEP1)szURL:https://prcm.jp/list/ソードアートオンライン?page=1
temp\ソードアートオンライン1.datはすでにあります。
(STEP1) 2/15
(STEP1)szURL:https://prcm.jp/list/ソードアートオンライン?page=2
temp\ソードアートオンライン2.datはすでにあります。
(STEP1) 3/15
(STEP1)szURL:https://prcm.jp/list/ソードアートオンライン?page=3
temp\ソードアートオンライン3.datはすでにあります。
(STEP1) 4/15
(STEP1)szURL:https://prcm.jp/list/ソードアートオンライン?page=4
temp\ソードアートオンライン4.datはすでにあります。
(STEP1) 5/15
(STEP1)szURL:https://prcm.jp/list/ソードアートオンライン?page=5
temp\ソードアートオンライン5.datはすでにあります。
(STEP1) 6/15
(STEP1)szURL:https://prcm.jp/list/ソードアートオンライン?page=6
temp\ソードアートオンライン6.datはすでにあります。
(STEP1) 7/15
(STEP1)szURL:https://prcm.jp/list/ソードアートオンライン?page=7
temp\ソードアートオンライン7.datはすでにあります。
(STEP1) 8/15
(STEP1)szURL:https://prcm.jp/list/ソードアートオンライン?page=8
temp\ソードアートオンライン8.datはすでにあります。
(STEP1) 9/15
(STEP1)szURL:https://prcm.jp/list/ソードアートオンライン?page=9
temp\ソードアートオンライン9.datはすでにあります。
(STEP1) 10/15
(STEP1)szURL:https://prcm.jp/list/ソードアートオンライン?page=10
temp\ソードアートオンライン10.datはすでにあります。
(STEP1) 11/15
(STEP1)szURL:https://prcm.jp/list/ソードアートオンライン?page=11
(INFO)szURL:https://prcm.jp/list/ソードアートオンライン?page=11
(INFO)szSaveFilename:temp\ソードアートオンライン11.dat
HTTP_NOT_FOUND
java.io.FileNotFoundException: https://prcm.jp/list/ソードアートオンライン?page=11
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
at DownloadAndSave.go2(DownloadAndSave.java:303)
at 解析_ダウンロード.Step1(解析_ダウンロード.java:93)
at 解析_ダウンロード.start(解析_ダウンロード.java:274)
at JavaWindow.取得開始(JavaWindow.java:92)
at JavaWindow$2.actionPerformed(JavaWindow.java:68)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: https://prcm.jp/list/ソードアートオンライン?page=11
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
at DownloadAndSave.go2(DownloadAndSave.java:226)
... 40 more
(STEP1) 12/15
(STEP1)szURL:https://prcm.jp/list/ソードアートオンライン?page=12
(INFO)szURL:https://prcm.jp/list/ソードアートオンライン?page=12
(INFO)szSaveFilename:temp\ソードアートオンライン12.dat
HTTP_NOT_FOUND
java.io.FileNotFoundException: https://prcm.jp/list/ソードアートオンライン?page=12
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$10.run(Unknown Source)

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

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

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

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

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

jimbe

2019/12/01 14:58 編集

> Eclipse 上で 1-10 (中略) うまくいきました。 > しかし、jar形式で (中略) 11-15 がエラーがでてダウンロードできません Eclipse で 11-15 を実行していないように読めるのですが, なぜ > Eclipseではうまくいくのに、jar形式だと (略) ということになるのでしょうか.
yukkuri_55

2019/12/01 18:27

はい、試しに Eclipsej上で 1-5 を試したところうまくいきます。 しかし、jar形式にして 1-5 を試したところ エラーがでます。
jimbe

2019/12/02 03:00

> jar形式で 1-15 のファイルのダウンロードを試みると、1-10はスキップで いいのですが 「いい」と言われていますが. 同じ状況・パラメータ(?)でEclipse と jar で実行し, その時の双方のログをご提示ください. 片方だけ, しかも状況が異なる(jar の時は 1-10がEclipse で既に作成されている(?)のでスキップする)のでは, 比較になりません. そして, 可能でしたら実行可能な状態のコードをご提示ください.
guest

回答1

0

ベストアンサー

日本語含み、windowsという環境により動作が想定通りにならない場合、9割文字コードの問題だと思います。

以下を確認してみてはどうでしょうか

Eclipseでのfile.encodingの勝手な設定

Eclipseで作ったjarを実行したら文字化けした時のお話

投稿2019/12/02 03:30

momon-ga

総合スコア4820

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

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

yukkuri_55

2019/12/02 06:59

>>Eclipseでのfile.encodingの勝手な設定 を参照し、 public class Main { public static void main(String[]args) { System.out.println("" + System.getProperty("file.encoding")); } } として、Eclipse, Jar 形式それぞれ実行したところ (Run configurationのVM引数に明示的に-Dfile.encoding=MS932を指定する。) Eclipse -> MS932 jar -> MS932 でどちらともエラーがでたので、 >>Eclipseで作ったjarを実行したら文字化けした時のお話 を参考にし、 System.setProperty("file.encoding", "UTF-8"); を加えて実行したところ Eclipse -> UTF-8 jar -> UTF-8 で実行され、ダウンロードもうまくいき、全部ダウンロードできました。
momon-ga

2019/12/02 12:29

すばらしい。ここまで詳細に書いてくれるなら自己回答でベストにしても低評価つかないと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問