哎呀...
我在Activity中创建了一个视图的子类作为内部类.之前我只是从我的活动链接到此视图:
setContentView(new CustomView(this));
Run Code Online (Sandbox Code Playgroud)
没有问题.
然而,现在,我的视图变得越来越复杂,所以我将它作为FrameLayout的一部分,这样我就可以将它作为基本视图并在其上添加一个Spinner小部件.问题是,当我这样做时,我收到一个错误:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.grafightscratch.ochemmer/com.grafightscratch.ochemmer.MoleculeTablet}: android.view.InflateException: Binary XML file line #4: Error inflating class com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView
...
Caused by: android.view.InflateException: Binary XML file line #4: Error inflating class com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView
...
Caused by: java.lang.ClassNotFoundException: com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView in loader dalvik.system.PathClassLoader@43b74a28
Run Code Online (Sandbox Code Playgroud)
所以这个视图在我直接链接到它之前有效,但是当我尝试将它作为framelayout的一部分添加到main.xml文件中时,我得到了上述错误.我也试过放入一个布局,只有通过以下方式显示:
<com.grafightscratch.ochemmer.MoleculeTablet.MoleculeTabletView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/molecule_tablet_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
Run Code Online (Sandbox Code Playgroud)
什么都行不通.我一直收到InflateException/ClassNotFoundException错误.它抱怨二进制XML文件中的"第3行",如果它正在讨论main.xml,那就是我已经三次检查的包声明.
编辑 我试图使这个视图成为一个单独的类(即 - 不是内部类),它的工作原理.经过一番搜索,我发现一些帖子说xml标签应该是这样的:
<com.grafightscratch.ochemmer.MoleculeTablet$MoleculeTabletView ...>
Run Code Online (Sandbox Code Playgroud)
即,应使用美元符号将内部类与主类分开.但是,Eclipse barfs就此称之为错误,并拒绝让我在那里构建或部署该角色.所以现在问题变成了:如何引用一个内部类的View?
我收到了SSL握手异常错误:PKIX"路径不链"(此处描述).我通过使用openssl导入证书链来修复它:
openssl s_client -host www.envmgr.com -port 443 -showcerts > cert_chain.crt
并将其安装到我的JDK密钥库中:
keytool -import -alias envmgrchain -file cert_chain.crt -keystore cacerts -storepass changeit
Run Code Online (Sandbox Code Playgroud)
这很有效.万岁.问题是我们将把我们的应用程序放在像rackspace或AWS这样的云服务器上,我认为我们很有可能无法修改JVM的密钥库来添加这个链.
我想,"没问题,我只是以编程方式将此证书链添加到密钥库"所以我将其从JVM中删除:
keytool -delete -alias envmgrchain -keystore cacerts -storepass changeit
Run Code Online (Sandbox Code Playgroud)
并添加了此代码:
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
//Create an empty keystore that we can load certificate into
trustStore.load(null);
InputStream fis = new FileInputStream("cert_chain.crt");
BufferedInputStream bis = new BufferedInputStream(fis);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
while(bis.available()>0) {
Collection<? extends Certificate> certs = cf.generateCertificates(bis);
Iterator<? extends Certificate> iter = certs.iterator();
//Add each cert …
Run Code Online (Sandbox Code Playgroud) 是否有一种好的或正确的方法来根据参数在Play Framework中呈现输出?例:
对于HTML:
http://localhost:9000/user/get/5?v=HTML // should render HTML template
Run Code Online (Sandbox Code Playgroud)
对于JSON:
http://localhost:9000/user/get/5?v=JSON // should render JSON template
Run Code Online (Sandbox Code Playgroud)
我认为请求拦截器可以实现这一点,但我不知道如何开始或从哪里开始:-(
或者,也许,写一个render method
读取参数和输出请求的将军,但这在我看来像是矫枉过正?
我在基于java的系统中工作,我需要为可视显示中的某些元素设置id.一类元素是字符串,所以我决定使用String.hashCode()方法来获取这些元素的唯一标识符.
然而,我遇到的问题是,如果id是负数并且String.hashCode
经常返回负值,我在borks工作的系统.一个快速的解决方案是在hashcode调用周围使用Math.abs()来保证肯定的结果.我对这种方法感到疑惑的是,两个不同元素具有相同哈希码的可能性是多少?
例如,如果一个字符串返回的哈希码为-10,另一个字符串返回的哈希码为10,则会发生错误.在我的系统中,我们讨论的是通常不超过30个元素的对象集合,所以我不认为这确实是一个问题,但我很好奇数学所说的.
我有一个已删除的提交,在许多已删除的提交中,我正在尝试恢复.我发现了fsck --lost-found命令.大!
问题是我有超过一百个悬空提交语句,信息很少.
dangling commit 654857f5e8418c4031e1d8411579906c528da562
dangling commit 74499bd482d688c1416d5091b391d82a438855a9
dangling commit 124ed7cd4465434865577c82757732df62febb59
dangling commit 92573bf4595be6f80f22eba94548dbc88d8796fc
dangling commit 125b0ffa3f0db71f23fda65d6adb2f9941748cc0
dangling commit ba5b1f8d6d920900abc88bd725d44ba86c8c772f
dangling blob e760d751ae4e3dab9beed0996e683c0f291eb4cc
Run Code Online (Sandbox Code Playgroud)
如果它可以抛出提交名称与sha将是一个很大的帮助.实际上,我必须逐个运行git show,以找到正确的提交.有没有更简单的方法?
我对SSL和Webservices如何在细粒度级别上工作有点痴迷.我正在开发一个调用多个Web服务的系统,其中一些具有安全URL,另一些则没有什么问题.但是,目前我正在与Endicia的LabelServer Web API进行集成.Web服务用于计算和打印邮资.
测试URL和WSDL位于:https://www.envmgr.com/LabelService/EwsLabelService.asmx
我使用wsimport创建和设置一个Java客户端来连接到这个webservice但是当我尝试所有它时我得到了错误
PKIX路径验证失败:java.security.cert.CertPathValidatorException:Path不与任何信任锚链接
此错误记录在此处:Java7拒绝信任信任存储中的证书
其中讨论了Java 7如何使用带有"坏"关键字的自签名证书强制出错.在这种情况下,错误定义为不包含keyCertSign.Web服务确实可以使用Java 6.我可以相信这种情况可能适用于此证书,因为它仅用作测试服务器,但我不知道如何验证.
有一个关于它的错误报告已经解决了(http://bugs.java.com/bugdatabase/view_bug.do?bug_id=7018897),但我不确定这些转换如何解决Windows Tomcat的问题环境.我将证书导出到我的机器上,但不确定如何从那里开始.
编辑:我尝试使用OpenSSL修改证书并将其添加到我的密钥库,如"拒绝信任信任存储中的证书"链接中所述,它不起作用.看起来这是一个由证书所有者完成的过程,对吗?我想知道是否有一些方法可以配置我的Java 7环境让这个证书通过.
我有一个使用java插件的gradle构建文件.如果我想从命令行调用build并避免运行单元测试,我可以这样做:
gradle build -x test
Run Code Online (Sandbox Code Playgroud)
但是,我们将从Eclipse调用gradle任务.我是否需要为此类构建构建特殊任务?我该怎么做呢?
在最近尝试让GGTS可靠地工作失败后,我最近将IntelliJ安装到了我的机器上.到目前为止,导入Grails项目后,错误消息清晰且易于解决.GGTS迫使我从Grails 3降级到2,因为当时GGTS似乎不支持Grails 3.我在将IntelliJ指向Grails 3之后遇到了问题,但重新启动IntelliJ似乎解决了这些问题.但是,现在,我无法启动项目,并收到以下错误:
"C:\Program Files\Java\jdk1.8.0_51\bin\java" ...;C:\dev\grails-3.0.4\lib\xalan\serializer\jars\serializer-2.7.2.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain org.grails.cli.GrailsCli run-app
Error |
Problem updating profiles from origin git repository (Use --stacktrace to see the full trace)
Error |
Could not checkout tag for Grails release [3.0.4]: repository not found: C:\Users\Randeep\.grails\repository (Use --stacktrace to see the full trace)
Error |
Error occurred running Grails CLI: No profile found for name [web]. (Use --stacktrace to see the full trace)
Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)
请注意" 从源git存储库更新配置文件的问题 "消息.这是一个git项目,但我不知道为什么IntelliJ正在尝试进行任何git操作(我不想要它,我只是想让它运行我的项目).
我正在考虑在我的64位Windows 7机器上启动JavaFX项目.我正在做的是设计一个全屏控制台应用程序.除条形码扫描仪外,它不是交互式的.
我正在设计这个我认为是Ubuntu笔记本电脑或其他一些Linux版本,尽管不同的Windows操作系统也是可能的(以及32位).据我所知,Java FX版本2.x在其可移植性方面取得了很大的进步,但是我想在这里向社区询问他们在部署JavaFX应用程序时的经验.
您是否已成功在各种不同的架构上使用它们?你遇到了什么问题?
我很确定这在一行中是不可能的,但我只是想检查一下:
List<WidgetItem> selectedItems = null;
Map<Integer, List<WidgetItem>> itemsByStockAvailable = WidgetItems.stream()
.collect(Collectors.groupingBy(WidgetItem::getAvailableStock));
selectedItems = itemsByStockAvailable.get(
itemsByStockAvailable.keySet().stream().sorted().findFirst().get());
Run Code Online (Sandbox Code Playgroud)
基本上我将所有小部件项目收集到一个地图中,其中关键字是availableStock数量,值是具有该数量的所有小部件的列表(因为多个小部件可能具有相同的值).有了这张地图后,我想选择与最小键对应的地图值.创建Map的中间步骤不是必需的,这是我能想到的唯一方法.