在Action的配置中,程序包路径不得以“ java”开头
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Action的配置中,程序包路径不得以“ java”开头,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1719字,纯文字阅读大概需要3分钟。
内容图文
![在Action的配置中,程序包路径不得以“ java”开头](/upload/InfoBanner/zyjiaocheng/674/c929b7a95e17412a87e1dad437742ddc.jpg)
<package name="default" extends="struts-default">
<action name="loginAction" class="java.LoginAction">
<result name="input">/login.jsp</result>
<result name="success">/success.jsp</result>
</action>
</package>
如果我使用从java.*开头的包路径来配置位置,则会导致错误.
堆栈是
Caused by: Action class [java.LoginAction] not found.
有人可以告诉我原因吗?
解决方法:
您不应该将自己的类放入以java.*开头的包结构中.我相信至少有一些安全管理器可以阻止这种情况,总的来说,这将是一个非常糟糕的主意:java.*包中的类应该是JRE的一部分,而不是用户创建的.
您收到的错误提示,可能是所使用的类加载器拒绝在Java开头的包中加载clase.基本上,这是同一件事的另一个体现.
您为什么要将类放在名为java的包中? (我假设您实际上已尝试这样做.如果您只是随机决定将包名称指定为java,而实际上没有一个声明该包的类,那么它当然会失败.)
仅作为示例,我尝试运行此程序:
package java;
public class Test {
public static void main(String[] args) {
System.out.println("Woot");
}
}
结果是此错误:
Exception in thread "main" java.lang.SecurityException: Prohibited package name:
java
at java.lang.ClassLoader.preDefineClass(Unknown Source)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: java.Test. Program will exit.
内容总结
以上是互联网集市为您收集整理的在Action的配置中,程序包路径不得以“ java”开头全部内容,希望文章能够帮你解决在Action的配置中,程序包路径不得以“ java”开头所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。