我已经构建了一个小程序(来自JApplet),它使用了其他几个jar文件。我已经签署了包含主类的jar,并包含了我需要的所有jar(我认为)。但是,无论我尝试什么,我总是会得到“java.lang.ClassNotFoundException: newpost”,其中“newpost”是我签名的jar中的主类。为此,我使用了以下html:
<p><applet code="newposting"
archive="HartfordRowingNewPosting.jar,
javax.mail.jar,
jcalendar-1.4.jar,
junit-4.6.jar,
jgoodies-common-1.2.0.jar,
jgoodies-looks-2.4.1.jar,
mysql-connector-java-5.1.25-bin.jar"
width="500" height="850">
<param name="permissions" value="sandbox" />
<param name="codebase" value="HartfordRowingNewPosting.jar" />
</applet></p>
JAR和html都位于服务器上的同一文件夹中。我尝试了几种路径规范的组合。我也尝试过使用jnlp,但得到了相同的错误。在过去一个月左右的时间里,我对这种断断续续的做法感到沮丧。有人能解释一下吗?
加载主类时抛出ClassNotFoundException
这一事实意味着无法从jar读取您的类或无法找到您的jar。
我希望你能证实你的clas确实在罐子里。如果没有,试试看。只是为了确保尝试使用未签名的jar,并查看是否存在完全相同的错误。
如果是这样,你还有两种可能性。
您确定您的类确实被称为newposting吗?小写?在默认包中?注意:这必须是完全限定的类名。
接下来,测试您的jar是否确实可用于浏览器。要做到这一点,只需将jar名称复制并粘贴到浏览器中,并在其前面加上URL即可。例如,如果HTML在<代码>http://myhost/myapp/mypage.html尝试URLhttp://myhost/myapp/HartfordRowingNewPosting.jar 。
顺便说一句,参数代码库
是什么意思?它是您的应用程序级别参数吗?我不确定,但请确保这不会将浏览器与标签小程序
支持的属性代码库
混淆。此属性通常是。
:
顺便说一句,你知道小程序在大约10年前几乎过时了吗?此外,据我所知,您将MySql JDBC驱动程序包含在您的类路径中。您应该明白,这在大多数情况下都不起作用,因为通常有一个防火墙不允许客户端和服务器之间的JDBC协议。
问题内容: 阅读的JavaDoc ,我碰到了一个奇怪的方法签名;我一生中从未见过: 乍一看,我想知道通用异常怎么可能发生,因为您不能这样做(here和here)。再三考虑,这开始变得有意义,因为这里只是绑定…,但是供应商本身确切知道泛型之前应该是什么类型。 但是第二行打给我: 是完整的通用异常类型。 然后: 什么世界呢 这 是什么意思? 已绑定在方法签名中。 这将以任何方式解决通用异常限制吗? 为
问题内容: 我正在尝试以编程方式验证jar文件是否未被明显篡改。我有2个要防止的用例。1)修改现有类2)在罐子中添加新类 我使用jarsigner签名了罐子。当我用jarsigner验证以上两种情况之一时,它的工作方式就与我期望的一样。 当我尝试使用如何以编程方式验证用jarsigner签名的jar 或如何通过自签名的jar验证签名中的示例以编程方式进行操作时 ?但是,我没有任何SecurityE
问题内容: 我想知道Netbeans是否具有一些选项或设置,这些选项或设置将允许我在构建过程中自动签名jar。 问题答案: 在您的ant目标中,从文件 〜/ .keyconf中 读取 密码可能很方便。授予文件仅用户访问权限:例如或。 __
在下面一段Android应用程序的代码中,服务器向连接Android客户端提供了一个自签名证书。也就是说,我已经用自己的CA签署了服务器的证书。该证书将使用CA的公钥进行验证,该公钥是从放置在/raw中的名为trust_store_ca的文件中获得的。问题是,如果我使用不同的证书(使用不同的CA签名,即),验证步骤不会抛出相应的SignatureException。我在NetBeans中测试了代码
问题内容: 例如,框架/ JDK中的许多方法可能会抛出 但这未在方法签名中指出(因为这是通常保留给检查异常的做法)。我想证明在方法sigs中声明RuntimeExceptions有很多好处(例如类似于静态类型检查)。我喝醉了还是其他? 问题答案: 我不会在签名中声明未经检查的异常,因为它会误导该API的用户。是否必须显式处理该异常不再明显。 在javadoc中声明它是一种更好的方法,因为它允许某人
问题内容: 我有这样的方法: 我想抛出一个内。编译器不允许我这样做,因为不允许将我的方法扔在那里。但是我需要抛出一个的子类来进行测试 (我不能抛出Unchecked)。显然这是一个hack,但我需要进行测试。我尝试过EasyMock,但它也不允许我这样做。任何想法如何做到这一点? 谢谢,肖恩·阮 问题答案: 方法1: Alexey Ragozin的这篇文章介绍了如何使用泛型技巧引发未声明的检查异常