Java文件编译时具有不匹配的目录位置和包声明

Java文件编译时具有不匹配的目录位置和包声明,java,Java,我面临一个奇怪的问题。Java源文件位于/home/gftrelv204/lib_build/sfw.24/src/log/Logger.Java下,但在文件本身(Logger.Java)中,包声明是com.giftssoft.fts.log。 奇怪的是,Logger.java`文件编译成功。我希望编译器会抱怨目录结构与包声明不匹配 $ javac -encoding cp1252 ./src/log/Logger.java $ $ head -1 ./src/log/Logger.java

我面临一个奇怪的问题。Java源文件位于
/home/gftrelv204/lib_build/sfw.24/src/log/Logger.Java
下,但在文件本身(
Logger.Java
)中,包声明是
com.giftssoft.fts.log。
奇怪的是,
Logger.java`文件编译成功。我希望编译器会抱怨目录结构与包声明不匹配

$ javac -encoding cp1252 ./src/log/Logger.java
$

$ head -1 ./src/log/Logger.java

package com.giftssoft.log;

javac
可以很好地工作,而不需要源文件位于基于其包的特定目录结构中。它是
.class
文件,应该位于运行时加载类的特定位置。如果您的项目运行时没有出现错误,那么可能是所有类文件都首先打包到
jar
文件中?请提供更多信息。你是对的,是的,它正在被编译成一个具有适当包结构的jar。感谢
javac
可以很好地工作,而源文件不在基于其包的特定目录结构中。它是
.class
文件,应该位于运行时加载类的特定位置。如果您的项目运行时没有出现错误,那么可能是所有类文件都首先打包到
jar
文件中?请提供更多信息。你是对的,是的,它正在被编译成一个具有适当包结构的jar。谢谢