JDK-8150040 : Confusing error while compiling with not existing module source path
  • Type: Bug
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 9,9-repo-jigsaw
  • Priority: P3
  • Status: Resolved
  • Resolution: Duplicate
  • Submitted: 2016-02-17
  • Updated: 2017-02-07
  • Resolved: 2017-02-07
Related Reports
Duplicate :  
Relates :  
Description
To reproduce create class D in package p
"package p; public class D { }"
and run
$javac -d classes -modulesourcepath not_exist p/D.java

p\D.java:1: error: unnamed package is not allowed in named modules
package p; public class D { }
^
1 error

Comments
$ ./build/linux-x86_64-normal-server-release/images/jdk/bin/javac -d play/8150040/classes --module-source-path not_exist play/8150040/src/p/D.java play/8150040/src/p/D.java:1: error: not in a module on the module source path package p; public class D { } ^ 1 error
07-02-2017

+1 First experience trying to define modules was a nightmare because of this. Finally figured out that the module-src-path is the directory above the module source directory!
06-12-2016

Same problem. $ find src src src/base src/base/hi src/base/hi/module-info.java src/base/hi/p src/base/hi/p/Hi.java src/base/hi/p/internal $ javac -d classes --module-source-path src/base/hi src/base/hi/p/*.java src/base/hi/p/Hi.java:1: error: unnamed package is not allowed in named modules package p; ^ 1 error $ cat src/base/hi/p/Hi.java package p; public class Hi { public void sayHi() { System.out.println("Hi"); } }
28-10-2016