探検
★★Java質問・相談スレッド182★★
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウウー Sa73-AAco [106.132.135.194])
2018/11/19(月) 11:37:06.10ID:C68x9bSiaプログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
(p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※
質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。
前スレ
★★Java質問・相談スレッド181★★
https://mevius.5ch.net/test/read.cgi/tech/1518252580/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
201デフォルトの名無しさん (ワッチョイ 23a3-4FRu [218.226.211.189])
2019/04/11(木) 23:44:09.20ID:jdRk1pWI0 Function<A, B>とFunction<B, R>を合成してFunction<A, R>にしたい
そしてふたつのConsumer<T>を合成してConsumer<T>にしたい
教えてクレメンス
そしてふたつのConsumer<T>を合成してConsumer<T>にしたい
教えてクレメンス
202デフォルトの名無しさん (ワッチョイ 1e01-AWLV [111.90.21.145])
2019/04/12(金) 00:40:24.29ID:lCQDwLY00 >>201
andThenメソッドでどう?
andThenメソッドでどう?
203デフォルトの名無しさん (ワッチョイ d302-eS/W [106.158.104.38])
2019/04/12(金) 01:37:06.31ID:kPkxqpeR0204デフォルトの名無しさん (ワッチョイ d26a-U5P5 [61.120.247.131])
2019/04/12(金) 15:11:37.91ID:f02m+jwt0 EclipseでコンパイルレベルJDK11までしか選べないんだけど
まだJDTが12まで対応してないとか?
まだJDTが12まで対応してないとか?
205デフォルトの名無しさん (ワッチョイ d26a-U5P5 [61.120.247.131])
2019/04/12(金) 15:23:21.41ID:f02m+jwt0 自己解決。ベータ版のプラグインを入れる必要があったようで
206デフォルトの名無しさん (ドコグロ MMaa-x1Th [119.243.54.194])
2019/04/12(金) 16:44:45.43ID:LhXUTlO1M207デフォルトの名無しさん (ワッチョイ 6bda-yqpC [114.190.255.223])
2019/04/12(金) 16:47:18.07ID:ob9MV6nx0 有料じゃないと使えないとか
208デフォルトの名無しさん (ワッチョイ d26a-U5P5 [61.120.247.131])
2019/04/12(金) 22:41:55.90ID:f02m+jwt0 IntelliJは使ったこと無いな
NetBeansよりオススメ?
NetBeansよりオススメ?
209デフォルトの名無しさん (ワッチョイ d26a-U5P5 [61.120.247.131])
2019/04/13(土) 00:02:18.39ID:UkAWtOas0 試しにNetBeans, IntelliJ両方入れてみたけど重くてもEclipseのUIが一番でしょ
210デフォルトの名無しさん (ワッチョイ 67e9-clLQ [222.15.235.177])
2019/04/13(土) 09:14:21.94ID:zAmtHmMK0 Eclipseって立ち上げが異様に遅くない?うちだと2分くらいかかるよ。Windowsのアップデートが来るとうんざりする。
211デフォルトの名無しさん (ワッチョイ 2387-IujH [218.41.189.138])
2019/04/13(土) 19:18:26.87ID:a4r2Gpw40 IBMは何でEclipseで無駄な開発をしたのかね。無償提供して何か報われたのかな。
212デフォルトの名無しさん (ワッチョイ d201-EjgJ [219.204.123.70])
2019/04/13(土) 19:27:05.58ID:vzJQEXVg0 当時はeclipseに代わるもの無かったし
213デフォルトの名無しさん (ワッチョイ 0f2e-AWLV [118.86.132.191])
2019/04/13(土) 20:14:34.32ID:osnUgzxu0214デフォルトの名無しさん (ワッチョイ 6bda-yqpC [114.185.4.211])
2019/04/13(土) 20:57:38.93ID:Puj10Jqk0 爺さんのプライドのためだよ
215デフォルトの名無しさん (ワッチョイ 23a3-4FRu [218.226.211.189])
2019/04/14(日) 01:30:00.79ID:zEHeHyPc0216デフォルトの名無しさん (ワッチョイ 23a3-4FRu [218.226.211.189])
2019/04/14(日) 01:33:26.33ID:zEHeHyPc0 >>208
オヌヌメ
UIが好き勝手にできる (そりゃ当たり前か?)しかっこの前にスペースを入れる入れないとか細かい次元で設定もできる、おまけにリファクタリングが充実してる
欠点としてはズームで拡大縮小ができないことぐらいかな
CommunityエディションでもすごいけどUltimateエディションだともっとすごい
OSSとか開発してるならただで手に入るから試してみ
オヌヌメ
UIが好き勝手にできる (そりゃ当たり前か?)しかっこの前にスペースを入れる入れないとか細かい次元で設定もできる、おまけにリファクタリングが充実してる
欠点としてはズームで拡大縮小ができないことぐらいかな
CommunityエディションでもすごいけどUltimateエディションだともっとすごい
OSSとか開発してるならただで手に入るから試してみ
217デフォルトの名無しさん (ワッチョイ 1e02-yKKz [175.134.57.7])
2019/04/14(日) 11:06:33.13ID:JuY/4ckm0 Kotlinもよろしく
218デフォルトの名無しさん (ワッチョイ 5294-U5P5 [123.48.66.92])
2019/04/14(日) 22:01:17.23ID:W2teM0KI0 jvmのgcは実際どれくらいのラグを引き起こすものなの?
例えばメモリ1GBくらい使ってるアプリで
例えばメモリ1GBくらい使ってるアプリで
219デフォルトの名無しさん (ワッチョイ 5294-U5P5 [123.48.66.92])
2019/04/14(日) 22:02:44.54ID:W2teM0KI0 java8のGCで。デフォだとパラレルGCだな。
コンカレントGCだとどれくらいなんだろう。
コンカレントGCだとどれくらいなんだろう。
220デフォルトの名無しさん (ワッチョイ d26a-U5P5 [61.120.247.131])
2019/04/14(日) 22:39:42.36ID:JOroMq8K0 >>216
そんな機能いらんだろ・・・
そんな機能いらんだろ・・・
221デフォルトの名無しさん (ワッチョイ 5294-U5P5 [123.48.66.92])
2019/04/15(月) 02:16:43.52ID:cuQSJXma0 JVMからデバイスドライバの機能を呼び出す事ってできます?
Javaで特殊デバイスと連携するプログラムは開発できるのかなとおもって
Javaで特殊デバイスと連携するプログラムは開発できるのかなとおもって
222デフォルトの名無しさん (ワッチョイ 1e02-yKKz [175.134.57.7])
2019/04/15(月) 10:56:39.66ID:JaYwanV70 >>221
普通はJNIで橋渡しする部分を作る必要があると思う。
しかしLinuxみたいに特殊なファイルに読み書きするだけである程度の操作ができるようなOS及びデバイスドライバならばファイルの読み書きだけでなんとかなってしまうかも知れない。
rootユーザーにならないと駄目かも知れないけど。
普通はJNIで橋渡しする部分を作る必要があると思う。
しかしLinuxみたいに特殊なファイルに読み書きするだけである程度の操作ができるようなOS及びデバイスドライバならばファイルの読み書きだけでなんとかなってしまうかも知れない。
rootユーザーにならないと駄目かも知れないけど。
223デフォルトの名無しさん (ワッチョイ 1e02-XGqV [175.134.57.7])
2019/04/15(月) 11:14:12.89ID:JaYwanV70 しかし例え Linux だったとしてもなるべく /dev や /sys 以下の特殊ファイルを直接読むように作るんじゃなくて読み書き用のコマンド実行するように作った方が良いかも。
というのは kernel のアーキテクチャやバージョンによって同じファイルが違ったりなかったりするかも知れないから。
例えばLinuxでCPUの温度を取得する方法が書いてあるページが以下にあるが、 /sys/devices/platform/coretemp.0/temp[0-9]_input または /sys/class/thermal/thermal_zone0/temp を読めばいいことになっている。
https://qiita.com/koara-local/items/1fac13704123717f5cc8
しかし lm_sensors をインストールして sensors コマンドで読むようにした方が良い。
その方が違いがあってもそこで吸収してくれる可能性があるし、Windows 等の他の OS だったとしても同じ形式で出力をするコマンドがあれば(またはなければ自作すれば) Java の方のプログラムを変えなくて済むからだ。
というのは kernel のアーキテクチャやバージョンによって同じファイルが違ったりなかったりするかも知れないから。
例えばLinuxでCPUの温度を取得する方法が書いてあるページが以下にあるが、 /sys/devices/platform/coretemp.0/temp[0-9]_input または /sys/class/thermal/thermal_zone0/temp を読めばいいことになっている。
https://qiita.com/koara-local/items/1fac13704123717f5cc8
しかし lm_sensors をインストールして sensors コマンドで読むようにした方が良い。
その方が違いがあってもそこで吸収してくれる可能性があるし、Windows 等の他の OS だったとしても同じ形式で出力をするコマンドがあれば(またはなければ自作すれば) Java の方のプログラムを変えなくて済むからだ。
224デフォルトの名無しさん (ワッチョイ 5294-U5P5 [123.48.66.92])
2019/04/15(月) 13:57:59.38ID:cuQSJXma0 OSGiの説明読んでたら実行時に依存ライブラリを置き換えれるみたいに書いてあったんだけど
危なくない?
危なくない?
225デフォルトの名無しさん (ワッチョイ 2361-La48 [218.231.194.129])
2019/04/15(月) 16:31:32.77ID:qwL+GUlh0 クソ古い機種でなければ、SELinuxが邪魔するはずだ。
226デフォルトの名無しさん (ワッチョイ 2361-La48 [218.231.194.129])
2019/04/15(月) 16:33:08.61ID:qwL+GUlh0 ごめん。Androidスレと勘違いした。
227デフォルトの名無しさん (ワッチョイ d26a-rI6A [61.120.247.131])
2019/04/17(水) 09:29:11.77ID:u6KluhBw0 新しいswitch構文いいね
Java13でも何か増えてほしい
Java13でも何か増えてほしい
228デフォルトの名無しさん (アウアウウー Sae3-UFLJ [106.132.123.80])
2019/04/17(水) 16:59:30.42ID:ZvmEwgGQa まるで Kotlin のような switch だなあれ。
こうやって徐々に拡張してって気づいたら Kotlin そっくりになってたりしてなw
こうやって徐々に拡張してって気づいたら Kotlin そっくりになってたりしてなw
229デフォルトの名無しさん (ワッチョイ 7f94-61/s [123.48.66.92])
2019/04/18(木) 18:04:38.09ID:wChKEQpu0 JavaFX11をJava8で動かす事はできる?
例えばCorretto8とかで
例えばCorretto8とかで
230デフォルトの名無しさん (ドコグロ MM7f-4dYu [119.243.53.203])
2019/04/18(木) 20:11:19.95ID:Hosp3yF6M JavaFXはもうJavaファミリーじゃなくて単なる野良ライブラリの一つだから他所で聞いて
231デフォルトの名無しさん (ワッチョイ 7f6a-61/s [61.120.247.131])
2019/04/19(金) 00:53:02.95ID:PyPy8gHp0 substance.jarとかlookandfeelのライブラリもみんな死んだよなあ
232デフォルトの名無しさん (オッペケ Sr33-EG0x [126.208.177.191])
2019/04/19(金) 20:15:42.29ID:9+uD8sSlr arrayListのaddメソッドについて質問です。
中身のないリストに、インデックス無しのaddメソッドで中身を追加していくと
0.1.2.3〜順番に自動でインデックスを付けてくれました。
この挙動は信頼して良いでしょうか?
それとも引数無しでaddしていくと、稀にインデックスがおかしくなったりしますか?
中身のないリストに、インデックス無しのaddメソッドで中身を追加していくと
0.1.2.3〜順番に自動でインデックスを付けてくれました。
この挙動は信頼して良いでしょうか?
それとも引数無しでaddしていくと、稀にインデックスがおかしくなったりしますか?
233デフォルトの名無しさん (ワッチョイ 5f1d-s4yl [180.178.88.6])
2019/04/19(金) 20:33:56.27ID:8v3VlEds0 char型配列についてお聞きしたいことがあります。例えば
char[] array = {'J','a','v','a'};
とした時、array[4]が「何もない(空である)」ことはどうコードで検出すればよいのでしょうか?
if文などで、4要素目が「空である」ことを検出するコードを書きたいのですが…。
char[] array = {'J','a','v','a'};
とした時、array[4]が「何もない(空である)」ことはどうコードで検出すればよいのでしょうか?
if文などで、4要素目が「空である」ことを検出するコードを書きたいのですが…。
234デフォルトの名無しさん (ワッチョイ 5fe9-JNgg [222.15.235.177])
2019/04/19(金) 23:18:37.51ID:Bzn5o3i30 >>233
配列の長さを調べる。
配列の長さを調べる。
235デフォルトの名無しさん (ワッチョイ 5f2e-R4YC [118.86.92.221])
2019/04/20(土) 00:35:16.58ID:CMR5Akfm0236デフォルトの名無しさん (ワッチョイ ffda-EG0x [223.218.244.7])
2019/04/20(土) 06:05:00.74ID:FdhFaaGT0 >>235
ありがとうございます。
ありがとうございます。
237デフォルトの名無しさん (ワッチョイ 7f94-61/s [123.48.66.92])
2019/04/20(土) 20:06:24.28ID:JruJqlnL0 1
jar実行時のカレントディレクトリが環境によってまちまちだって聞いたんだけど本当?
2
コマンドラインでディレクトリAに居ながらjavaコマンドでディレクトリBのjarを起動したら
そのjarの中でカレントディレクトリはAとBどちらになる?
jar実行時のカレントディレクトリが環境によってまちまちだって聞いたんだけど本当?
2
コマンドラインでディレクトリAに居ながらjavaコマンドでディレクトリBのjarを起動したら
そのjarの中でカレントディレクトリはAとBどちらになる?
238デフォルトの名無しさん (ワッチョイ 7f94-61/s [123.48.66.92])
2019/04/20(土) 20:36:06.72ID:JruJqlnL0 2を自分で実験してみたんですが
コマンドラインのカレントディレクトリがjar内部でもカレントディレクトリですね。
つまり./folderを作成したら、コマンドラインの位置に出現する。
コマンドラインのカレントディレクトリがjar内部でもカレントディレクトリですね。
つまり./folderを作成したら、コマンドラインの位置に出現する。
239デフォルトの名無しさん (ワッチョイ dfa3-imD6 [218.226.211.189])
2019/04/20(土) 22:30:51.50ID:ZG2GZstI0 new File(".").getCanonivalPath()
あってるかどうかは知らん
あってるかどうかは知らん
240233 (ワッチョイ 5f1d-s4yl [180.178.88.6])
2019/04/20(土) 22:53:08.89ID:8ST0JapT0241デフォルトの名無しさん (ワッチョイ ff02-YIQo [175.134.57.7])
2019/04/21(日) 15:13:37.03ID:oGsU9OH20 >>239
シンボリックリンクを手繰っても良い場合はそれでも良くて、ダメな場合は Paths.get(relativePath).toRealPath(LinkOption.NOFOLLOW_LINKS) のようだ。
https://qiita.com/nwtgck/items/5dd7a3008a5a31bf964e
シンボリックリンクを手繰っても良い場合はそれでも良くて、ダメな場合は Paths.get(relativePath).toRealPath(LinkOption.NOFOLLOW_LINKS) のようだ。
https://qiita.com/nwtgck/items/5dd7a3008a5a31bf964e
242238 (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/25(木) 08:51:23.69ID:ximnnd2X0 これやばくないですか?
プロジェクトのトップからの相対パスで色々なファイルを指定する事は珍しくないはずです。
そうして作られたjarをコマンドライン等から呼び出すとき
カレントディレクトリが狂わないように調整する必要がある。
相対パスのFileオブジェクトの参照先はカレントディレクトリ依存ですよね?
しかもカレントディレクトリがどうなるかは環境依存ですよね?
と思ったらjavaコマンドの引数で-Duser.dirを指定すればいいようです。
でも、デスクトップアプリだと、環境別に起動スクリプト書かなきゃまずいですね。
エンドユーザーは-Duserr.dirを指定しません。
どこから呼び出しても良いようにしたい、エンドユーザーの利便性のためなのに、
起動スクリプトを使うのは本末転倒な気がします。
と言ってもコマンドラインから呼び出す場合しか実際問題にならないだろうけど。
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4045688
user.dirは起動後だと修正不可能。
プロジェクトのトップからの相対パスで色々なファイルを指定する事は珍しくないはずです。
そうして作られたjarをコマンドライン等から呼び出すとき
カレントディレクトリが狂わないように調整する必要がある。
相対パスのFileオブジェクトの参照先はカレントディレクトリ依存ですよね?
しかもカレントディレクトリがどうなるかは環境依存ですよね?
と思ったらjavaコマンドの引数で-Duser.dirを指定すればいいようです。
でも、デスクトップアプリだと、環境別に起動スクリプト書かなきゃまずいですね。
エンドユーザーは-Duserr.dirを指定しません。
どこから呼び出しても良いようにしたい、エンドユーザーの利便性のためなのに、
起動スクリプトを使うのは本末転倒な気がします。
と言ってもコマンドラインから呼び出す場合しか実際問題にならないだろうけど。
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4045688
user.dirは起動後だと修正不可能。
243デフォルトの名無しさん (ブーイモ MMfa-AiIk [49.239.65.125])
2019/04/25(木) 09:45:05.55ID:sal5bxLGM244デフォルトの名無しさん (ブーイモ MMfa-AiIk [49.239.65.125])
2019/04/25(木) 09:46:41.65ID:sal5bxLGM プロジェクトのトップからの相対パスになるんだなんて
思い込みがなければ問題ナッシング
思い込みがなければ問題ナッシング
245デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/25(木) 09:57:47.94ID:ximnnd2X0 カレントディレクトリに依存してはいけないというなら、
相対パスを使えないという事になるのでは?
しかし絶対パスはたびたびOSのユーザー名など個人情報が入ります。
できれば扱いたくない。
相対パスを使えないという事になるのでは?
しかし絶対パスはたびたびOSのユーザー名など個人情報が入ります。
できれば扱いたくない。
246デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/25(木) 10:11:29.05ID:ximnnd2X0 http://d.hatena.ne.jp/yomama/touch/20080718/1216394398
やはりいい方法が無いと。
それどころか、リソースファイルを取得する時URLクラスで相対パスを使うのが
ベストプラクティスとして紹介されている事がある。
それはカレントディレクトリに依存するのか?クラスパス依存だから問題ない?
そもそも、クラスパスが相対パスだったらカレントディレクトリ依存で解決されるだろう。
どうやって相対パスを使わずに組むんだ?
やはりいい方法が無いと。
それどころか、リソースファイルを取得する時URLクラスで相対パスを使うのが
ベストプラクティスとして紹介されている事がある。
それはカレントディレクトリに依存するのか?クラスパス依存だから問題ない?
そもそも、クラスパスが相対パスだったらカレントディレクトリ依存で解決されるだろう。
どうやって相対パスを使わずに組むんだ?
247デフォルトの名無しさん (ワッチョイ 6de9-MRXB [222.15.235.177])
2019/04/25(木) 10:44:52.10ID:w8/bGs7/0 エクスプローラーから直接実行ファイルをダブルクリックしたら、そこがカレントディレクトリじゃないの?
ショートカットを作成して、それをデスクトップとか他のフォルダに置いた場合、
そのショートカットのプロパティをみると、「作業フォルダー」ってのがあって、それがカレントディレクトリではないかと。
ショートカットを作成して、それをデスクトップとか他のフォルダに置いた場合、
そのショートカットのプロパティをみると、「作業フォルダー」ってのがあって、それがカレントディレクトリではないかと。
248デフォルトの名無しさん (ラクッペ MMa5-AA9Y [110.165.212.69])
2019/04/25(木) 11:24:18.30ID:DeQsB6RVM >>246
どんな実行方法でもjarがある場所をベースにしたいってことならjarファイルのパスを取得してそこから相対パスで扱えばよいよ
どんな実行方法でもjarがある場所をベースにしたいってことならjarファイルのパスを取得してそこから相対パスで扱えばよいよ
249デフォルトの名無しさん (ワッチョイ da2c-vaK/ [219.162.237.2])
2019/04/25(木) 13:37:42.97ID:wpotMNKo0 各種リソースは、プロジェクトフォルダからの相対パスだろ
PROJECT_PATH などの定数・変数を作って、そこからの相対パスを定義すればよい
PROJECT_PATH などの定数・変数を作って、そこからの相対パスを定義すればよい
250デフォルトの名無しさん (ブーイモ MMde-AiIk [163.49.214.190])
2019/04/25(木) 17:48:56.39ID:PdDg4Yo8M251デフォルトの名無しさん (ブーイモ MMde-AiIk [163.49.214.190])
2019/04/25(木) 17:53:11.84ID:PdDg4Yo8M252デフォルトの名無しさん (ブーイモ MMde-AiIk [163.49.214.190])
2019/04/25(木) 17:58:48.54ID:PdDg4Yo8M 例えば実行時にworkフォルダに相対パスでファイルを吐き出したいときは
シェルスクリプトで
cd work
のコマンドを実行してから
javaを実行するよ
シェルスクリプトで
cd work
のコマンドを実行してから
javaを実行するよ
253デフォルトの名無しさん (ブーイモ MMde-AiIk [163.49.214.190])
2019/04/25(木) 18:14:02.08ID:PdDg4Yo8M スクリプトからjarを実行すれば
プロキシを指定したり使用メモリの上限を指定したり
ログの出力を変えたりできるよ
エンドユーザーの利便性を考えるなら起動スクリプトを
作るべきだと思うよ
jarは直接実行するものじゃない
プロキシを指定したり使用メモリの上限を指定したり
ログの出力を変えたりできるよ
エンドユーザーの利便性を考えるなら起動スクリプトを
作るべきだと思うよ
jarは直接実行するものじゃない
254デフォルトの名無しさん (ブーイモ MMde-AiIk [163.49.214.190])
2019/04/25(木) 18:22:50.99ID:PdDg4Yo8M >>249
プロジェクトフォルダってソースコードを管理する
ものだから実行時にその存在を前提にするのは設計としておかしいと思う
開発環境からしか実行しないなら問題ないけど
今回のようにjarを配布して実行してもらうならマズいですよ
プロジェクトフォルダってソースコードを管理する
ものだから実行時にその存在を前提にするのは設計としておかしいと思う
開発環境からしか実行しないなら問題ないけど
今回のようにjarを配布して実行してもらうならマズいですよ
255デフォルトの名無しさん (ブーイモ MMde-AiIk [163.49.214.190])
2019/04/25(木) 18:57:50.14ID:PdDg4Yo8M256デフォルトの名無しさん (ワッチョイ 9161-KI0z [218.33.254.176])
2019/04/25(木) 22:38:36.18ID:O+x6W6lz0 >>249
すげぇな、お前。
すげぇな、お前。
257デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/25(木) 23:09:48.66ID:ximnnd2X0 http://aarkiton.blogspot.com/2011/09/getresourceasstream.html
>実行時にクラスがjarファイルなどに格納されている場合、実行環境によりなぜかgetResourceAsStream()でリソースが読み込めない場合があるようだ。
こういう記事があるから、リソースの読み込みをクロスプラットフォームにするには、
URLでアクセスするのが良いとされている。
ところがURLアクセスの方法は相対パスを使用している。
クロスプラットフォームかつどのフォルダからも実行できるようにする方法はない。
あるとすれば、環境別に起動スクリプトを書く場合だけ。
起動引数無しで起動されたら即終了するようにして、
必ずスクリプトから起動させるしかない。
でも、それって、JVMが動いてても起動スクリプトが無いと動かないから、
マイナー環境向けにスクリプト書かれないだろうから、
クロスプラットフォーム感激減だ
>実行時にクラスがjarファイルなどに格納されている場合、実行環境によりなぜかgetResourceAsStream()でリソースが読み込めない場合があるようだ。
こういう記事があるから、リソースの読み込みをクロスプラットフォームにするには、
URLでアクセスするのが良いとされている。
ところがURLアクセスの方法は相対パスを使用している。
クロスプラットフォームかつどのフォルダからも実行できるようにする方法はない。
あるとすれば、環境別に起動スクリプトを書く場合だけ。
起動引数無しで起動されたら即終了するようにして、
必ずスクリプトから起動させるしかない。
でも、それって、JVMが動いてても起動スクリプトが無いと動かないから、
マイナー環境向けにスクリプト書かれないだろうから、
クロスプラットフォーム感激減だ
258デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/25(木) 23:11:54.85ID:ximnnd2X0 なんていうか、プログラムってしんどいね
環境ごとの無意味な違い(ファイルパスの区切り文字とか)で振り回されるし
環境ごとの無意味な違い(ファイルパスの区切り文字とか)で振り回されるし
259デフォルトの名無しさん (ラクッペ MMa5-AA9Y [110.165.130.229])
2019/04/25(木) 23:35:13.14ID:7lYh8BWfM つーかその張ってるリンク先で言ってる話はまた別の話だと思う
読み込むpropertiesファイルもまとめてjarにいれた場合に読めないって話でしょ
結局やりたいことの為に何が必要なのか考えてみた方がよいと思う
読み込むpropertiesファイルもまとめてjarにいれた場合に読めないって話でしょ
結局やりたいことの為に何が必要なのか考えてみた方がよいと思う
260デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/26(金) 00:23:14.47ID:Q79mrf5i0 プログラム上の問題というより環境的な問題だから
自分じゃどうしようもない
これはプログラムが悪いんじゃなく、ソフトウェアエコシステムの問題だ
すんなりとクロスプラットフォームになって
カレントディレクトリとか余計な問題に悩まなくていい開発方法があればいいのに
自分じゃどうしようもない
これはプログラムが悪いんじゃなく、ソフトウェアエコシステムの問題だ
すんなりとクロスプラットフォームになって
カレントディレクトリとか余計な問題に悩まなくていい開発方法があればいいのに
261デフォルトの名無しさん (ラクッペ MMa5-AA9Y [110.165.130.229])
2019/04/26(金) 01:15:44.98ID:if9lRvGxM カレントディレクトリを前提にパスを扱うからいけないだけ
jarファイルの場所を起点として相対パスを使えばいいだけだよ
jarファイルの場所を起点として相対パスを使えばいいだけだよ
262デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/26(金) 02:14:57.44ID:Q79mrf5i0 それは絶対パスを使う事になるから、できれば避けたい
でもそれしかないかもしれない
でもそれしかないかもしれない
263デフォルトの名無しさん (ワッチョイ 4101-AiIk [202.72.70.151])
2019/04/26(金) 04:22:09.54ID:51IpWYw80 スクリプト書けばいいのに
シェルスクリプトならPOSIXに対応した環境で使えるし
WindowsならPowerShellとかBATファイルとかあるじゃん
スクリプトじゃなくてプログラムでも良いけど
それができない環境はないよ
JavaのクロスプラットフォームはJVMが環境の差異を吸収するからソースコードコンパイルし直さなくて平気だよってものなのでカレントディレクトリが実行環境によって変わりますっていうのは別の事柄だよ
Java製のV2CやEclipse、NetBeansといったソフトウェアもjarを直接起動することないよ、起動用のプログラムは別で用意されてて一緒に配布されてる
カレントディレクトリの概念は便利なものだよ
シェルスクリプトならPOSIXに対応した環境で使えるし
WindowsならPowerShellとかBATファイルとかあるじゃん
スクリプトじゃなくてプログラムでも良いけど
それができない環境はないよ
JavaのクロスプラットフォームはJVMが環境の差異を吸収するからソースコードコンパイルし直さなくて平気だよってものなのでカレントディレクトリが実行環境によって変わりますっていうのは別の事柄だよ
Java製のV2CやEclipse、NetBeansといったソフトウェアもjarを直接起動することないよ、起動用のプログラムは別で用意されてて一緒に配布されてる
カレントディレクトリの概念は便利なものだよ
264デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/26(金) 04:28:32.96ID:Q79mrf5i0 便利なのはわかるんだ
例えばmkdirだって、どこかに置かれたプログラムで、カレントディレクトリにおいて作用するわけで。
関数的なプログラムはそれでいい。
でも状態を持つプログラムにおいてそのプログラムが置かれたフォルダに状態を作るというのも便利なものだ。
これはOOP的。
エンドユーザーからすれば、良く分からんところに状態を作られるのは嫌。
例えばmkdirだって、どこかに置かれたプログラムで、カレントディレクトリにおいて作用するわけで。
関数的なプログラムはそれでいい。
でも状態を持つプログラムにおいてそのプログラムが置かれたフォルダに状態を作るというのも便利なものだ。
これはOOP的。
エンドユーザーからすれば、良く分からんところに状態を作られるのは嫌。
265デフォルトの名無しさん (ワッチョイ 4101-AiIk [202.72.70.151])
2019/04/26(金) 04:34:30.93ID:51IpWYw80 >>264
じゃあユーザーにはスクリプトを配布してそれを実行してもらうようにすればいいよ
じゃあユーザーにはスクリプトを配布してそれを実行してもらうようにすればいいよ
266デフォルトの名無しさん (ワッチョイ 4101-AiIk [202.72.70.151])
2019/04/26(金) 04:50:17.67ID:51IpWYw80 カレントディレクトリ無視してjarのディレクトリで動作しますというのがユーザーにとって迷惑なこともあるわけでユーザーがコントロールできるのが望ましいのじゃないかな
OOPや関数型プログラミングは今回の件と関係があるとは思えない
OOPや関数型プログラミングは今回の件と関係があるとは思えない
267デフォルトの名無しさん (ワッチョイ 4101-AiIk [202.72.70.151])
2019/04/26(金) 05:21:05.77ID:51IpWYw80 ・プログラムの動作上必要なファイルをjarと同じ場所に配置する
・プログラムではそのファイルに相対パスでアクセスする
という要件でしょ
・プログラムではそのファイルに相対パスでアクセスする
という要件でしょ
268デフォルトの名無しさん (ワッチョイ 4101-AiIk [202.72.70.151])
2019/04/26(金) 05:55:44.11ID:51IpWYw80 相対パスはカレントディレクトリからのパスなので
カレントディレクトリを変えるしかなく
スクリプトでカレントディレクトリを変える
jarのパスを引数で渡すなり実行時に取得するなりして
Path.resolveメソッドで相対パスを解決する
カレントディレクトリを変えるしかなく
スクリプトでカレントディレクトリを変える
jarのパスを引数で渡すなり実行時に取得するなりして
Path.resolveメソッドで相対パスを解決する
269デフォルトの名無しさん (ワッチョイ 4101-AiIk [202.72.70.151])
2019/04/26(金) 06:01:41.80ID:51IpWYw80 他にあるかなー
270デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/26(金) 06:30:18.37ID:Q79mrf5i0 ・個人情報が含まれることがあるから絶対パスを使いたくない。
271デフォルトの名無しさん (ワッチョイ 052e-om8u [118.86.92.221])
2019/04/26(金) 07:10:21.98ID:pn/dKCHp0272デフォルトの名無しさん (ワッチョイ 052e-om8u [118.86.92.221])
2019/04/26(金) 07:39:19.02ID:pn/dKCHp0 カレントディレクトリからの相対パスを使用したとしても
Path.of(".").toAbsolutePath()
としたらプログラムでは見れるので
プログラムに対して絶対パスを隠す意味はないですよね
絶対パスを指定するとしたら実行時にスクリプトで絶対パスを取得して
javaに渡すなり、javaから取得するなりすると思うんですよ
Path resourcePath = ...;
Path text = resourcePath.resolve("text.txt");
こんな感じで
ログに出力したくないというのであればtext.getFileName()をログに出力するようにすればよいかと
絶対パスを使いたくない意味がよくわからない
Path.of(".").toAbsolutePath()
としたらプログラムでは見れるので
プログラムに対して絶対パスを隠す意味はないですよね
絶対パスを指定するとしたら実行時にスクリプトで絶対パスを取得して
javaに渡すなり、javaから取得するなりすると思うんですよ
Path resourcePath = ...;
Path text = resourcePath.resolve("text.txt");
こんな感じで
ログに出力したくないというのであればtext.getFileName()をログに出力するようにすればよいかと
絶対パスを使いたくない意味がよくわからない
273デフォルトの名無しさん (ワッチョイ 9161-KI0z [218.231.167.11])
2019/04/26(金) 08:25:41.39ID:QL2+v1a40 >プログラムの動作上必要なファイルをjarと同じ場所に配置する
この要件が意味不明過ぎる。
初めからプログラムが知っているべきものなら、CLASSPATHから辿れるResourceでいいし、
外部から与えられるファイル(設定ファイルとかデータファイルとか)なら、
ユーザが「知っている」はずだから、それに従うだけ。
この要件が意味不明過ぎる。
初めからプログラムが知っているべきものなら、CLASSPATHから辿れるResourceでいいし、
外部から与えられるファイル(設定ファイルとかデータファイルとか)なら、
ユーザが「知っている」はずだから、それに従うだけ。
274デフォルトの名無しさん (ワッチョイ 6de9-MRXB [222.15.235.177])
2019/04/26(金) 09:02:13.01ID:yevOEnv90 自分ならjarのあるディレクトリに移動してプログラムを起動するバッチファイルを使うわ。
プログラムではカレントディレクトリにあるはずのファイルが無かったらエラーを吐いて止まる。
プログラムではカレントディレクトリにあるはずのファイルが無かったらエラーを吐いて止まる。
275デフォルトの名無しさん (アメ MMa1-GtBW [210.142.92.14])
2019/04/26(金) 09:21:40.52ID:v0BTRdTiM それosごとに書くの?
write everywherewww
write everywherewww
276デフォルトの名無しさん (アウアウウー Sa39-tnqD [106.132.130.249])
2019/04/26(金) 09:35:16.97ID:YRtkzMZRa Write once
Bug anywhere
Bug anywhere
277デフォルトの名無しさん (ブーイモ MM99-AiIk [202.214.125.189])
2019/04/26(金) 09:44:37.15ID:pkS4CFHAM278デフォルトの名無しさん (ワッチョイ 9161-KI0z [218.231.167.11])
2019/04/26(金) 10:00:15.39ID:QL2+v1a40 頭悪すぎ。
権限とかセキュリティを考慮すれば、ワーキングディレクトリもユーザ側に委ねるべきもの。
権限とかセキュリティを考慮すれば、ワーキングディレクトリもユーザ側に委ねるべきもの。
279デフォルトの名無しさん (ワッチョイ da2c-vaK/ [219.162.237.2])
2019/04/26(金) 13:39:16.32ID:A/WNBxWE0 >>258
Ruby では、Windows のパス区切りも、/ で統一されている。
Dir.glob( 'C:/Users/Owner/Pictures/*' )
Rails では「設定より規約」というポリシーだから、何も設定しない場合には、
プロジェクトフォルダ内でのリソースの置き場や、
それらのdeploy 後の置き場や、アクセス方法も決まっている
このように、フレームワークを使うと、その規則に従うから、何も考えなくてよい!
Ruby では、Windows のパス区切りも、/ で統一されている。
Dir.glob( 'C:/Users/Owner/Pictures/*' )
Rails では「設定より規約」というポリシーだから、何も設定しない場合には、
プロジェクトフォルダ内でのリソースの置き場や、
それらのdeploy 後の置き場や、アクセス方法も決まっている
このように、フレームワークを使うと、その規則に従うから、何も考えなくてよい!
280デフォルトの名無しさん (アウアウウー Sa39-tnqD [106.132.130.249])
2019/04/26(金) 14:10:43.88ID:YRtkzMZRa >>279
え?Windowsって昔からプログラムでファイルオープンする時は / 使えなかったっけ?
昔々 Delphi とかで使えた記憶があるんだけど。言語の問題じゃなくて Windows API が / も受け付けてるって事ね。
コマンドラインから受け付けないようになってる理由は昔から / をスイッチとして使ってるからだと思う。
え?Windowsって昔からプログラムでファイルオープンする時は / 使えなかったっけ?
昔々 Delphi とかで使えた記憶があるんだけど。言語の問題じゃなくて Windows API が / も受け付けてるって事ね。
コマンドラインから受け付けないようになってる理由は昔から / をスイッチとして使ってるからだと思う。
281279 (ワッチョイ da2c-vaK/ [219.162.237.2])
2019/04/26(金) 14:36:03.51ID:A/WNBxWE0 C:\Users\Owner\Pictures\
Python では、\ をエスケープするために、\\ を2つ使った、表記をよく見る。
C:\\Users\\Owner\\Pictures\\
一方、Ruby では、
C:/Users/Owner/Pictures/
Python では、\ をエスケープするために、\\ を2つ使った、表記をよく見る。
C:\\Users\\Owner\\Pictures\\
一方、Ruby では、
C:/Users/Owner/Pictures/
282デフォルトの名無しさん (アウアウウー Sa39-tnqD [106.132.130.249])
2019/04/26(金) 14:41:28.21ID:YRtkzMZRa283デフォルトの名無しさん (ワッチョイ 89da-HJzg [114.185.1.67])
2019/04/26(金) 15:17:33.53ID:YKU/5GWf0 スレチ
284デフォルトの名無しさん (ワッチョイ 9161-KI0z [218.231.141.120])
2019/04/26(金) 21:05:21.66ID:sJC66QNU0 Rubyキチは黙ってスルー。
285デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/27(土) 00:27:38.86ID:0PNVGbCs0 カレントディレクトリをユーザ側に委ねると
前回のセーブデータを必要とするとき、GUIとかでユーザーに設定してもらう必要がある。
アプリフォルダに入ってれば自動的に見つけれる。
俺はカレントディレクトリをユーザ側に委ねる使用法を否定していない。
ちゃんと読んでくれ。誰もそんな事は言ってない。
ただアプリによってアプリフォルダに状態を持つ方法が必要になると言ってる。
しかもそれを相対パスとして実現できる必要がある。
この話は、Oracleも必要性を認めていて、しかし問題があり却下していたはず
前回のセーブデータを必要とするとき、GUIとかでユーザーに設定してもらう必要がある。
アプリフォルダに入ってれば自動的に見つけれる。
俺はカレントディレクトリをユーザ側に委ねる使用法を否定していない。
ちゃんと読んでくれ。誰もそんな事は言ってない。
ただアプリによってアプリフォルダに状態を持つ方法が必要になると言ってる。
しかもそれを相対パスとして実現できる必要がある。
この話は、Oracleも必要性を認めていて、しかし問題があり却下していたはず
286デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/27(土) 00:35:07.92ID:0PNVGbCs0 https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4045688
>A chdir that has inheritable thread local semantics is much safer and
clearly useful, but it is quite an implementation challenge.
>A chdir that has inheritable thread local semantics is much safer and
clearly useful, but it is quite an implementation challenge.
287デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/27(土) 00:38:18.41ID:0PNVGbCs0 カレントディレクトリを大部分のアプリにおいてユーザ側が制御できる事と
一部アプリにおいてアプリ側が制御できる事は両立する。
誰もカレントディレクトリをユーザ側で制御する事を否定してないのに、なんでそんな話が出てくる?
一部アプリにおいてアプリ側が制御できる事は両立する。
誰もカレントディレクトリをユーザ側で制御する事を否定してないのに、なんでそんな話が出てくる?
288デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/27(土) 00:45:30.79ID:0PNVGbCs0 > It's really too bad that there is no system interface that allows a
> program to save and restore the current working directory reliably
Ruby is another application platform that embraces threading and has a
process-wide chdir. In the latest ruby release, a warning is issued if
chdir is used in a program with more than one active thread.
ルビーではプログラム側でchdir出来ると書いてある。
そういう需要があるという事だろう。
しかしプロセス単位で設定するのは危険で、
スレッド別に設定できるべきだという意見が2つ出ている。
例えば1プロセスでマルチユーザーを達成するプログラムがあった場合、
アクセスしたユーザーに応じてchdirできる。
APIの用途なんかいくらでも出てくる。
Javaが実行時chdirを持たない事は欠陥だ。
アプリコードで実行されたクラスのパスを取得してそれをプリフィクスにすればいいと
上で意見が出ているが、それではライブラリの動作が透過的に変更されない。
> program to save and restore the current working directory reliably
Ruby is another application platform that embraces threading and has a
process-wide chdir. In the latest ruby release, a warning is issued if
chdir is used in a program with more than one active thread.
ルビーではプログラム側でchdir出来ると書いてある。
そういう需要があるという事だろう。
しかしプロセス単位で設定するのは危険で、
スレッド別に設定できるべきだという意見が2つ出ている。
例えば1プロセスでマルチユーザーを達成するプログラムがあった場合、
アクセスしたユーザーに応じてchdirできる。
APIの用途なんかいくらでも出てくる。
Javaが実行時chdirを持たない事は欠陥だ。
アプリコードで実行されたクラスのパスを取得してそれをプリフィクスにすればいいと
上で意見が出ているが、それではライブラリの動作が透過的に変更されない。
289デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/27(土) 00:53:45.71ID:0PNVGbCs0 俺の説明が正しいかは分からない。
俺は細かいところを間違えたかもしれない。
でも、javaが実行時chdirを持たない事が欠陥なのは間違いない。
俺は細かいところを間違えたかもしれない。
でも、javaが実行時chdirを持たない事が欠陥なのは間違いない。
290デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/27(土) 01:06:06.63ID:0PNVGbCs0 カレントディレクトリをユーザーが指定しつつ
同時にプログラム側でchdirすべき場合があるじゃないか。
1プロセスでマルチユーザーからのアクセスを受け付けるプログラムで、
ユーザーがカレントディレクトリを指定して、
プログラム側でスレッド別にユーザーが指定したカレントディレクトリにchdirする場合。
同時にプログラム側でchdirすべき場合があるじゃないか。
1プロセスでマルチユーザーからのアクセスを受け付けるプログラムで、
ユーザーがカレントディレクトリを指定して、
プログラム側でスレッド別にユーザーが指定したカレントディレクトリにchdirする場合。
291デフォルトの名無しさん (ラクッペ MMa5-AA9Y [110.165.179.32])
2019/04/27(土) 01:11:53.55ID:Je+FHpVzM >>285
だからその用途の場合は実行時にjarの場所を取得して、そこからの相対パスで扱うべきって話をしてるわけだが
相対パス=カレントディレクトリを基準に使わなければいけない、みたいな謎ルールがあるのか?
だからその用途の場合は実行時にjarの場所を取得して、そこからの相対パスで扱うべきって話をしてるわけだが
相対パス=カレントディレクトリを基準に使わなければいけない、みたいな謎ルールがあるのか?
292デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/27(土) 01:17:58.25ID:0PNVGbCs0 これ2006年ごろ会社でBtoBtoCのシステム作っててやったの思い出した
クライアント別にchdir
ApacheとLinuxの仕組みを活用して達成できたけど、
クロスプラットフォームなやり方は無いと思う。
クライアント別にchdir
ApacheとLinuxの仕組みを活用して達成できたけど、
クロスプラットフォームなやり方は無いと思う。
293デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/27(土) 01:18:26.51ID:0PNVGbCs0 >>291
>それではライブラリの動作が透過的に変更されない。
>それではライブラリの動作が透過的に変更されない。
294デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/27(土) 01:19:54.56ID:0PNVGbCs0295デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/27(土) 01:21:56.36ID:0PNVGbCs0 そのオラクルのサイトでもこう書かれてる。
>This needs co-operation from the runtime (if we chdir() the VM, then the
IO libariries would get transparently updated).
chdirはライブラリの動作を透過的に変更できる。
お前らが言ってるクラスファイルのパスを取得して接頭辞にしろというアイデアは、
ライブラリの動作で問題が生じる。
>This needs co-operation from the runtime (if we chdir() the VM, then the
IO libariries would get transparently updated).
chdirはライブラリの動作を透過的に変更できる。
お前らが言ってるクラスファイルのパスを取得して接頭辞にしろというアイデアは、
ライブラリの動作で問題が生じる。
296デフォルトの名無しさん (ワッチョイ 052e-om8u [118.86.92.221])
2019/04/27(土) 10:12:27.47ID:Msh+cD000 >>294
自己完結
自己完結
297デフォルトの名無しさん (ワッチョイ 052e-om8u [118.86.92.221])
2019/04/27(土) 10:12:49.27ID:Msh+cD000 自己完結しましたってことね
298デフォルトの名無しさん (ワッチョイ 052e-om8u [118.86.92.221])
2019/04/27(土) 10:13:08.94ID:Msh+cD000 ここは質問スレッドなので質問ありますか?
299デフォルトの名無しさん (ワッチョイ 052e-om8u [118.86.92.221])
2019/04/27(土) 10:28:47.67ID:Msh+cD000 カレントディレクトリのファイルを読み書きするライブラリなんてあるのかね
ファイルを読み書きするならFileなりPathなりInputStreamなりOutputStreamなり
を引数として取るように作るんじゃないかな
もともとはカレントディレクトリがプロジェクトのディレクトリになるという
勘違いから起こった話題だけど何を解決しようとしてるのかよくわかんない
ファイルを読み書きするならFileなりPathなりInputStreamなりOutputStreamなり
を引数として取るように作るんじゃないかな
もともとはカレントディレクトリがプロジェクトのディレクトリになるという
勘違いから起こった話題だけど何を解決しようとしてるのかよくわかんない
300デフォルトの名無しさん (ワッチョイ 5a94-BP9Y [123.48.66.92])
2019/04/27(土) 11:40:58.78ID:0PNVGbCs0 もともとは「カレントディレクトリが何になるか環境依存で決まる」という話。
ライブラリでカレントディレクトリに依存しているものはたくさんある。
ライブラリでカレントディレクトリに依存しているものはたくさんある。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【高市朗報】 日本政府「一昨年は1300億円。去年も防衛費が1100億円余ったw」 日本の防衛費は充分足りてる事が判明。増やす必要無し [485983549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【速報】51歳まで自衛隊になれるように法改正ww [347751896]
