25歳無職、マイナスからのプログラミング就活

25の無職がプログラマー就職キャンプのメンターからハッキリ「無理」っと言われ、PG勉強に奮起するブログ。 目的は「こんな自分でも社員で雇ってくれる会社様が現れる」そのことです。 こんなやつでも就職出来るんだ、俺だって頑張れば!、そんな風に思って貰える未来になれればいいと思います。 記事はプログラミング言語勉強や、英語学習の成果物が中心。 Unityがメインかも。 成果物を作って、何が何でも業界に就職してやるぜ!

Project名、Package名を英字以外使うな!謎エラーの元

 

IDEを使ったJavaを勉強の中にハマったので、警鐘記事

Project名、Package名を英字以外使うな!謎エラーの元

分かりやすく日本語でえぇやん!? 英語が決まらないし! それでも英語使え

どうしても迷ったら、ネーミングcodicGoogle翻訳を使え. ↓みたいな謎エラー吐かれるぞ

エラー:Internal error: (java.nio.file.InvalidPathException) Illegal char <?> at index 46: D:/Downloads/Projects/IdeaProjects/imooc/Java入?第一季
java.nio.file.InvalidPathException: Illegal char <?> at index 46: D:/Downloads/Projects/IdeaProjects/imooc/Java入?第一季
  at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
  at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
  at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
  at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
  at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
  at java.nio.file.Paths.get(Paths.java:84)
  at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadProject(JpsProjectLoader.java:82)
  at org.jetbrains.jps.model.serialization.impl.JpsSerializationManagerImpl.loadModel(JpsSerializationManagerImpl.java:42)
  at org.jetbrains.jps.cmdline.JpsModelLoaderImpl.loadModel(JpsModelLoaderImpl.java:50)
  at org.jetbrains.jps.cmdline.BuildRunner.load(BuildRunner.java:80)
  at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:265)
  at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:121)
  at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:228)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at java.lang.Thread.run(Thread.java:748)

っていうか、このエラー何?

私が知りたい 色々調べてみたが、これと言って日本語で理解できそうなアンサーが見つかりませんでした.未だにメッセージで何を言われているのかすら謎です.

なんでエラー吐いたの?

A. 学習ユニット毎にフォルダー分けしたかった.

学習のために色々文法学ぶでしょ? 実際、動画講座を見て、Java勉強していたんだけど、動画自体「Java入門シーズン1、シーズン2、シーズン3」の3つのプレイリストに分かれていて、 「Java入門シーズン1」の中でも 第1章、2章、3章、4章に別れているのさ

これ見て、生真面目な人は 1.動画サイト名でフォルダー作って、 2.1の下に Java入門 のサブフォルダを作成して 3.シーズンごとに、更に章毎に細かく分けたい って考えるでしょ?

そして、IDE IntelliJ IDEAを開いて、Project名にサイト名作って、その中でディレクトリー...これに当たるPackageを次々と作っていくでしょ? 結果、変なエラーを吐いて、対処に2,3時間捨てる羽目になるのよ...

原点に戻ってたどり着いた答え.

英語以外使うな!! そして、教わってないことを勝手に「多分(これとあれが似てるから)こうだろ?」で判断して行動するな!! ← 今回の教訓

公式ドキュメント:初めてのJavaアプリケーションを作成する ここにたどり着き、その通りに沿ってProjectPackageを作ったら、エラーが消えました

書いたJavaのコードは一緒.

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!!");
    }
}

「ちなみに」 と 「それでも」

Javaではプロジェクト名、パッケージ名、変数名で英語以外、つまり日本語使うこともできる

Javaのソースコード中に日本語を使う(Qiita)@shinido

それでもエラー原因となる要素を増やすべきではない. 道具の使い方がわからい内は 特に.