★★Java質問・相談スレッド181★★
■ このスレッドは過去ログ倉庫に格納されています
プログラミング言語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質問・相談スレッド180★★
https://mevius.5ch.net/test/read.cgi/tech/1492780397/ >>463
ありがとうございます。1行目のintentはインスタンスなのですね。
インスタンスはnewで生成する以外にもreturnで取得する方法もあるのですね、勉強になります。 jdk11でjavafxが分離されるという話があるけど、
アプリにjavafxのライブラリを同梱するという形態になるんですか? >>467
分離じゃなくて廃止ね
オラクルとしては開発を放棄し、OpenJFXだけ残して提供終了
でOpenJFXというのはOracleの開発成果をGPLの下でソースを公開するだけの実体のない組織なので、開発継続の見込みはゼロ
もう無理や windowsでコマンドライン引数とかコンソールへの出力にユニコード使ってると、正しく処理できないっぽいですが、
そういうのちゃんとやってくれる定番のライブラリとかありますか? >>467
これ俺も気になってる
JavaFXってJARだけでなくDLLなどのネイティブライブラリも必要なので
JavaFX(openjfx)使ったアプリの配布はプラットフォーム別に用意しないといけなくなるのかな? OpenJDKやOpenJFXに部外者が参加しようと思ったら、私が提供する著作物はオラクル様が自由に使えます
絶対に訴えたりしませんっていう誓約書にサインしなきゃいけない
あれを見直さない限りコミュニティプロジェクトとしての発展はありえない
ただでさえJDK11の件でオラクルに対する不信感が高まってるのに今更誰がオラクルにケツを差し出す気になるだろう JavaFXのJDKから廃止というのはJREからも廃止ですか?
OpenJDKのインストール方法を調べたらRedHatからダウンロードしろと。
しかもそれは開発者向けでエンドユーザー向けじゃない。
エンドユーザー向けJavaアプリが生き残る方法はあるのか? エンドユーザー向けのOpenJDKのインストール方法は見つからない。
つまり、環境変数の設定やコマンドラインを必要としないインストール方法が無い。 公式が配布するOpenJDKはtar.gz形式でwindowsの標準機能で解凍できない。
GPL感染はプロセスを超えないそうなので、
OpenJDKをパッケージに同梱してしまうのは解決策になるかもしれない。
その場合、起動スクリプトを組み込む必要があるし、OpenJDKのアップデートにどう対応するのかという問題がある。
windows向けOpenJDKインストーラ&アップデータを誰かが作る事も考えられる。
しかし、公式サイトへのポーリングや自動的なファイルのDLをしていいのかどうか。 >>469
windows でも cygwin 使ったり wsl 内で動かせば問題なくできるのでは?
ていうかそういうOSとか実行環境の問題をそこの中で動かされるプログラムでなんとかしようというのは考え方がおかしいのではないか?
どうしようもない場合は別としても、やはり実行環境側でやらねばならない事は実行環境側でやるべきだろう。 >>480
そういうの主要な Linux ディストリビューションだと悩まなくていいのにな。ネットワーク経由でアップデートする yum だの apt だのがあるから。
Windows には Windows Update があるが、あれはMS専用でMSが受け入れてセットしてくれない限り使えないよな。 ライセンス気にするようなアプリ開発するならOracleと契約結べよw 本当に自分の中でLinuxの評価が上がってる。
みんなそろそろLinuxデスクトップに移行すべきじゃないか。
ゲームエンジンはLinux向けビルドが出来るし、古いゲームでもおおむねWineで動く。 >>474
スタンドアロンなJREは廃止
Java SE Subscription を契約した上でアプリに同梱して配布するのが正解
価格は、開発環境も実行環境も(!)PC1台一月あたり2.5ドルから
一日10円の御賽銭でオラクル神の手厚いサポートが受けられるんだから安いもんだよね リナックスでもマックでもウインドウズでも
動くソフトはこれから何で作ればいいの? OpenJDKを使うしかない。
アプリに同梱するんだが、アップデータもJavaだから、恐らくOpenJDKを2個インストールして、
Aでアップデータを実行してBをアップデート、
次にBでアップデータを実行してAをアップデート、みたいにやるしかないだろうw OpenJDK+OpenJFXをアプリ同梱、
起動スクリプトでOpenJFXのDLLにパスを通してOpenJDKからアプリのjar起動。
とかでいける・・・のか JavaでDLLとかのネイティブコードをアプリ毎に用意させるのは例外的で
そういう方法は確立していないし、
JavaFXのようなクライアントソフトで使われる機能は
エンドユーザー環境で構築しなきゃいけないことが多々あるわけで、
全く破滅的としか思えないが、
JavaFXは情熱的で盛り上がっているコミュニティだとか言われてる。
JavaFXはOracleJDKでしかサポートされてなかったがそれが有償化される、
しかも自分が払えばいいだけじゃなくエンドユーザーもオラクルに金払わないと使えない、
やはりクライアントソフトで使われる技術で大量のエンドユーザーが居る事が多い、
JavaFX開発者は一番フェイント食らっただろう。 GUI は、HTML, JavaScript が基本。
Rails でもそう。Vue.js でも使えば?
>>480
ファイルの圧縮解凍なら、7-zip を使えば?
Windows のパッケージマネージャーなら、
NuGet, Chocolatey, Microsoft Web Platform Installer, Scoop とか
Windows10 では、NuGet, Chocolatey を使った、
MS 製のPackageManagement(OneGet)が標準搭載された 解凍処理はアップデータが動作できてる時点でなんかライブラリ使えばいいんだけど。
DLLの問題は、JNIのDLLロードと違って、JavaFXはエントリーポイントからJavaFXのクラスだから、
起動前にDLLのパスが分かっている必要がある。
だから、起動スクリプトでやることになるだろう。
しかし起動スクリプトはOS毎に用意する必要があり、Javaのメリットが薄れる。
もしオラクルがJDK11で何かそのあたりの対策を発表しなかったら、杜撰としか言いようがない。 https://www.gnu.org/licenses/gpl-faq.ja.html#IfInterpreterIsGPL
>しかし、インタープリタが他の機能(多くの場合ライブラリですが、
ライブラリである必要はありません)への「バインディング」を提供するように
拡張されている場合、解釈されるプログラムはバインディングを使うことによって
事実上それらの機能とリンクされることになります。ですから、
もしそういった機能がGPLのもとでリリースされているならば、
機能を利用している解釈されるプログラムはGPLと両立する形で
リリースされなければなりません。
OpenJDK、OpenJFXはリンク例外がついているので、
アプリに同梱しても非GPLを維持できる、と思う。
こっそりリンク例外が取り外されたりしないか注意しておく必要がある。
やはり、アプリ同梱作戦で何とか乗り切れるだろう。
Swingにすればjfx問題は無いんだが、結局oracleJDKが有償化されるから
アプリ同梱作戦は必要だから、さほど楽になるわけではない。
javaFX自体はかなり良い印象があるし。 今更騒いでもなあ
Oracleに買われた時点でクライアントJavaに未来がないことなんか分かりきってたでしょ
次は乗る船を間違えないこと、間違えたと分かったらすぐに降りること
だいじなことだぞ あるライブラリを使う必要が出てきて、C++用のがなくて、C#にするかJavaにするか迷って、結局Javaにしたんだけど、道を誤ったか。
また環境構築や言語の勉強に何か月もかけるなんて、うんざりするわ。 >また環境構築や言語の勉強に何か月もかけるなんて
なんでそんなに時間掛かるの?
二つ目以降でそんなに時間掛かるとしたら能力無さすぎ。 >>502
Javaを見限ったくらいでそんなに怒らないでよ、ジャバラーさん(笑) >>503
よう、無能。
何カ月もかけるとかねーわ。
Javaは最も習得が楽な部類の言語だから他の言語は1年はかかるんじゃないかと思うけど頑張ってな。 javaはOS環境の細かいこと覚えなくていいから楽だよな Javaそのものは楽だがライブラリが多くて最初は何をやる時に何を使ったら良いかよく分からなくて大変かも。
わからなくて自作してしばらくしてからライブラリの中から発見するとかなw >>507
それを◆BrBq2CJg6HGdに言い聞かせていただけますか Javaは完ぺきな言語に見えたけど、色々建て増しして便利にはなったけど当初の完全さが失われていったな。 そうかな?
俺が使い始めた頃は重くて使い物にならんってのが評価だったような C#でいいよ
速いし楽だしMicrosoftの安心感最高 正直オラクルに比べたら100倍マシ
今は亡きJ#のように、Javaを.NET Core上に実装してみんなで移住するのが一番幸せな形だと思うわ
オラクルはAPIの著作権とかいう謎ワードで潰しにくるだろうけど >>512
Java Applet がブラウザで動いたお陰で世に広まりはしたが初期化で時間が掛かりすぎ、そのため Java は遅いという印象もより多くの人に広めることになってしまったのではないかと思う。
そして確か1998年にはLinusがJavaは死んだと言っている。20年前だ。確かにPCのデスクトップ環境では死んだも同然だった。
まあしかしLinuxもクライアント環境としては市場に受け入れられず死んだも同然で、みんなしてサーバや組み込み機器に逃れた感じではある。
クライアント環境でのLinuxとJavaはAndroidとしてスマホに組み込まれなければこんなに広まることはなかったかも知れない。 ロンドン証券取引所で大失敗したドトネトは信用できぬ >>518
20年前っていうとダイアルアップ主流の時代だっけ?
時代を先取りしすぎたんだなぁ
どっちにしろセキュリティ的にだめな気がするけど 失敗例でいうとJavaはあちこちで失敗してるね
日常すぎてわざわざ話題にならんけど >>522
NASDAQはJavaで動いています
Javaの失敗例なんて聞いたことないわ Write once, Bug anywhere.
OS毎にバグの入り具合が違う。 初心者質問で恐縮ですが、世間様では初期化不要なコンストラクタも一応書くのでしょうか?省略するのでしょうか?
派遣の年上の人からルールだから書けと言われ気になりまして >>523
だからわざわざ話題にするほど珍しくないってことだよ Javaの有名な失敗例を一つでもいいから挙げてみろよ >>527
IBMはセールスフォースでも裁判沙汰だから
言語の問題じゃない、マネジメントの問題 伊達に30億のデバイスで動いてるわけじゃねえぞ
てめえらあんま舐めてっとあれだからな >>525
一般的には書かなくていいものは書かない >>525
「初期化不要」とはどういう意味?
フィールドが一切なく、static(みたいな)クラスのことか?
デフォルトコンストラクタのことなら、「初期化不要」とは言わないぞ。 なんとかぎゃふんといわせたい(笑)
>派遣の年上の人からルールだから書けと言われ気になりまして 8月からIT企業に入社します
研修があるので、早めに予習しておきたいのですが
開発環境をどうしたらいいか困ってます
VBAでjavaをすると電話で聞いたのですが
見たところjavascriptでしか見たらず、開発環境はイクリプスでしかネットでも記事が出てきません
VBAで開発環境にしている方はどのように行ってますでしょうか >>537
>VBAでjavaをする
それは一体どういう状況なのか?
何か聞き間違えていないか?
それと、開発環境は君が決めても構わないのか?
普通は会社で指定されてたりしないか? >>539
予習するだけです
C#は余裕してるので問題ないんですが
そもそもVBAでjavaを作動させることはできるんでしょうか? VBAからJavaで作ったアプリを起動する…とかなのか?
VBAやるならMSExcelが必要 >>533
はいフィールドのない小さいクラスのデフォルトコンストラクタです
アクセサメソッドみたいに丁寧に書くのがしきたりなのか世間様の動向を知りたく >>542
仕事の規模にもよるが、ソースコードを保守しやすくするためにコーディングの方法が決められている(コーディング規約がある)現場が殆ど
ちゃんと統一されてるなら従ったほうが無難
仮にバグが発生してあなたの追加部分が規約に従ってない場合、面倒くさいことが発せあする可能性がある >>543
なるほど、そこはルールに従うのが無難ということですね
参考になります >>542
フィールドがないならインスタンス生成を禁止するためにprivateコンストラクタを必ず定義すべきなんじゃないの? そんな細いことまで規約で定めている現場はソフトウェアの品質が低い
俺の経験ね
品質管理担当とか専任者がいても規約に沿っているかという杓子定規な現場が多く
規約化できないビジネスロジックの妥当性はなぜかチェックしない傾向あり
しょーもない規約がなる揺らぎを許容する現場は
チェックリストに沿った均一的な検査はできないものの
分かっている人がビジネスロジックを査読しようとする傾向がある ルールに従っている限り、問題が起きた場合はルールを作った奴の責任
これ典型的なSI業界の考え方
上から下までSIに身を置く限りは極めて重要な大原則ではあるが、悪く言えば責任逃れだ
この例に限って言えばわざわざ破って余計なリスクを負うほどの価値があるとは思わないが、今後同様に自分で責任を負わないという判断をするときには
それがエンジニアとしての自分の価値を下げているということを頭の片隅に置いておいたほうがいい
どんな業界でも、本当に上へ行く奴は自己責任でやるもんだ >>544
俺も大体>>546と同じ考えだから「規約!」「厳守!」という凝り固まった考えにはならないように注意な
チェックする側が知識ない人って事もあるから余計に規約に従ってるか重視するんじゃないだろうか >>544
後あれだ
なんでこんな規約があるんだって考えるのも最初は勉強になるぞ
件のデフォコン必須!とかはリフレクション多用してて落ちたことがあったからそのまま規約になった〜とか理由があるかもしれない javaはもうwebの世界でしか生きていけないのかな >>550
kindleもandroidもJavaで動いてるし
ただ単にwebアプリが増えてるだけだと思う webに向いてるというよりはwebの世界が広がっただけ >>547
話を一般化しすぎじゃないか
SIを嫌ってるだけだろ スカラより簡単ピエチピより厳密
アプリサーバがたくさんあって人材も豊富
作っているのは世に名も高きオラクル
Java最強伝説 >>551
Andoroidのjavaはもう終わりかな Javaの知識があってのKotlinだけどな。
Nativeは知らんけど。 >>557
終わらぬだろ、終わらぬよ
終わりません! googleはjavaでオラクルに一兆円の損害賠償払うのにjavaは捨てられないのかな オラクル社長はドラ息子に巨万の富を残してるのにまだ足りないみたいね
andoroidの巨額提訴にjava有償化に >>546
良いこと言うね
Java使いにもまともな人居たんだ ■ このスレッドは過去ログ倉庫に格納されています