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

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

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

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

Eclipse

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

Q&A

1回答

2101閲覧

eclipseでjavaを実行時のエラーについて

ebitarou

総合スコア0

Java

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

Eclipse

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

0グッド

0クリップ

投稿2021/07/15 02:33

編集2021/07/15 02:57

前提・実現したいこと

プログラムを実行したときに正しく実行できるようにしたい。

ここに質問の内容を詳しく書いてください。
javaで”Hello,World”を出力しようと思ったのですが、エラーが出てしまい実行できませんでした。

発生している問題・エラーメッセージ

Java

1package java; 2 3public class HelloWorld { 4 5 public static void main(String[] args) { 6 // TODO 自動生成されたメソッド・スタブ 7 System.out.println("Hello,World"); 8 } 9} 10 11エラーメッセージ 12Exception in thread "main" java.lang.SecurityException: Prohibited package name: java 13 at java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:899) 14 at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1015) 15 at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) 16 at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800) 17 at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698) 18 at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621) 19 at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579) 20 at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) 21 at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) 22 at java.base/java.lang.Class.forName0(Native Method) 23 at java.base/java.lang.Class.forName(Class.java:398) 24 at java.base/sun.launcher.LauncherHelper.loadMainClass(LauncherHelper.java:760) 25 at java.base/sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:655) 26 27``` 28 29 30 31 32 33### 試したこと 34 35ここに問題に対して試したことを記載してください。 36調べたのですが、解決できませんでした。 37 38### 補足情報(FW/ツールのバージョンなど) 39OSはMacです。 40画像で載せました。

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

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

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

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

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

K_3578

2021/07/15 02:41

エラーメッセージ読めないなら翻訳にでも掛けよう。 エラーが出たって言われても何にもわからんのでソースコードを載せましょう。 ソースコードはMarkDownのcode機能で提示してください。 <code>ボタンを押して出てくる```の中にソースコードをコピペすればいいです
ebitarou

2021/07/15 02:50

すみません。初投稿だったので、投稿の仕方がよくわかりませんでした。指摘されてた内容をおそらく修正できたと思います。よろしくお願いいたします。
K_3578

2021/07/15 02:52

質問編集画面の右側にこちらから見えているのと全く同じプレビューが表示されています。 それを見て調整してください。 MarkDownに関してはこの質問が参考になります。 https://teratail.com/questions/238564
ebitarou

2021/07/15 02:57

ありがとうございます。レイアウトの調整を行いました。
guest

回答1

0

実際のコードが提示されてないのでエラーからわかることくらいになりますが、原因書いてありますね。

Prohibited package name: java

大抵の言語には「予約語」というのがあって、予め定義された情報があるので確認した上で避けましょう。

投稿2021/07/15 02:50

m.ts10806

総合スコア80850

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

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

m.ts10806

2021/07/15 02:55

試してみましたがパッケージ作るときやコーディング時にアラートが出なくて、実行したときにはじめて分かるみたいですね。 ちょっと不便。
ebitarou

2021/07/15 03:00

コード自体にエラーが出ていないので、コードは正しいと思いますが、設定がいけないのでしょうか。 packege nameにjavaとしているのが予約後に引っかかっているということでしょうか?
m.ts10806

2021/07/15 03:09

ebitarouさん はい。パッケージ名を見直してください。 なるべくプロジェクトやアプリケーションに即した名前が推奨です。 私とK_3578さんがコメントしている通り実行時にしか出ない仕様のようです。不便ですが仕方ない部分ではあります。 K_3578さん まあ実際に採用することはない名称ですし、予約語もしくはそれっぽい用語は命名時に避けるべしという前知識があれば使うことはないので気づかないかもしれませんね。
m.ts10806

2021/07/15 03:58

予約語じゃなく標準ライブラリというべきでした。 java.util.* とかはお馴染みですね。
ebitarou

2021/07/15 04:20

そうだったのですね。 javaの環境構築動画をみながら行っていたので、javaというパッケージ名をつけましたが、やはりそれが原因だったのですね。動画では、問題なく動作していたのでバージョンやosの違いもあるかもしれませんね。親切に説明していただいて、ありがとうございました。
m.ts10806

2021/07/15 04:24

それはないです。 上位に別のパッケージ名をつければ動くかもしれません(未検証) hoge.java いずれにしてもプロジェクトやアプリケーションに合わせるべきですね。サンプルやテストであっても目的はあるわけですし。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問