我已经创建了一个Maven项目,我将使用已经由某人创建的.jar文件。我已经将其添加到类路径中并使用了它,并且在eclipse中没有显示任何错误。但是,当我尝试清理构建项目时,出现如下错误。
[错误]无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (默认编译)在项目DigitalWallet上:编译失败: 编译失败: [错误] /E:/DigitalWallet_V0.1/DigitalWallet/src/main/java/com/MobiOs/config/Log4jConfig.java:[11,23] 软件包com.mobios.util不存在 [错误] /E:/DigitalWallet_V0.1/DigitalWallet/src/main/java/com/MobiOs/config/Log4jConfig.java:[25,17] 找不到标志 [错误]符号:变量LogUtil [错误]位置:com.MobiOs.config.Log4jConfig类 [错误] /E:/DigitalWallet_V0.1/DigitalWallet/src/main/java/com/MobiOs/config/Log4jConfig.java:[26,17] 找不到标志 [错误]符号:变量LogUtil [错误]位置:com.MobiOs.config.Log4jConfig类 [错误]-> [帮助1] [错误] [错误]要查看错误的完整堆栈跟踪,请使用-e开关重新运行Maven。 [错误]使用-X开关重新运行Maven以启用完整的调试日志记录。 [错误] [ERROR]有关错误和可能的解决方案的详细信息,请阅读以下文章: [错误] [帮助1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
说软件包com.mobios.util不存在。
@Configuration
@EnableTransactionManagement
@ComponentScan({ "com.MobiOs.config", "com.mobios.util" })
public class Log4jConfig {
@Bean
public void initilizeLog4j() throws UnsupportedEncodingException {
LogUtil.init("/conf/log4j.xml");
LogUtil.getEventLog().debug("Kasun" +
",SERVICE_INITIALIZED,initialized_logs,,");
}
}
在Web Config中,我还设置了组件扫描。
@Configuration
@EnableWebMvc
@ComponentScan({ "com.MobiOs", "com.mobios" })
public class WebConfig {
}
但是我遇到了以上错误。
注意:我的软件包名称是com.MobiOs.config,但是导入的jar软件包名称是com.mobios.util
答案 0 :(得分:0)
您有两个具有不区分大小写名称的包com.MobiOs到com.mobios,它们实际上代表两个具有不区分大小写名称的目录。如果您的文件系统不区分大小写,或者期望特定的大小写为小写字母,则会导致问题。
Java's package names应该为小写:
包名用小写写,以避免与类或接口的名称冲突。
如果您不确定,请参见comment:
在某些Windows文件系统的某些版本上,所有大写字母中输入的名称均以小写形式显示为默认名称。这可能对不区分大小写的系统文件很友好-这些文件可能全部以大写形式出现,而在所有小写形式下看起来更好。尽管文件名在幕后仍然是大写,但这可能引起混乱