我有我想阅读的以下 XML。在 java 1.6 上使用 JAXB,如何为属性 regex 注释?我可以将字段设为 boolean 类型吗?
<?xml version="1.0" encoding="utf-8"?>
<authStore>
<authList>
<auth>
<resource>res1</resource>
<privilege regex = "true">PRIV_FILE_.+?_READ</privilege>
</auth>
<auth>
<resource>res2</resource>
<privilege>PRIV_FILE_READ</privilege>
</auth>
</authStore>
Run Code Online (Sandbox Code Playgroud)
更新:是否可以将属性设为可选?如果是,当我解组时,当特权元素没有可选属性 regex 时,我是否会得到 regex 字段为假?
UDPATE2 :我不想为资源和权限定义单独的类。另外,我不想使用 MOXy。请。建议仅适用于 sun/oracle JDK 1.6 JAXB 的解决方案。
UPDATE3:我当前的对象模型是这样的
// AuthStore.java
@XmlRootElement
public class AuthStore {
@XmlElementWrapper(name = "authList")
@XmlElement(name = "auth")
private ArrayList<Auth> authList;
public void setAuthList(ArrayList<Auth> authList) {
this.authList = authList;
}
public ArrayList<Auth> getAuthsList() {
return authList;
}
}
// Auth.java
@XmlRootElement(name = "auth")
@XmlType(propOrder …Run Code Online (Sandbox Code Playgroud) 以下代码尝试使用Java 7将值设置为private final char value[]String类的字段.
package test;
import java.lang.reflect.Field;
public final class Test
{
static
{
try
{
Field value = String.class.getDeclaredField("value");
value.setAccessible(true);
value.set("Hello World", value.get("1234567890"));
}
catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException e)
{
System.out.println(e.toString());
}
}
public static void main(String[] args)
{
System.out.println("Hello World");
}
}
Run Code Online (Sandbox Code Playgroud)
它默默地显示1234567890在控制台上,毫无疑问.
当我尝试使用Java 6做同样的事情,如下所示,
package test;
import java.lang.reflect.Field;
public final class Test
{
static
{
try
{
Field value = String.class.getDeclaredField("value");
value.setAccessible(true);
value.set("Hello …Run Code Online (Sandbox Code Playgroud) 我正在研究 Aparapi ( https://code.google.com/p/aparapi/ ),并且其中包含的示例之一有一种奇怪的行为。示例是第一个“添加”。构建并执行它,就可以了。我还放了下面的代码来测试GPU是否真的被使用
if(!kernel.getExecutionMode().equals(Kernel.EXECUTION_MODE.GPU)){
System.out.println("Kernel did not execute on the GPU!");
}
Run Code Online (Sandbox Code Playgroud)
而且效果很好。但是,如果我尝试将数组的大小从 512 更改为大于 999 的数字(例如 1000),则会得到以下输出:
!!!!!!! clEnqueueNDRangeKernel() failed invalid work group size
after clEnqueueNDRangeKernel, globalSize[0] = 1000, localSize[0] = 128
Apr 18, 2013 1:31:01 PM com.amd.aparapi.KernelRunner executeOpenCL
WARNING: ### CL exec seems to have failed. Trying to revert to Java ###
JTP
Kernel did not execute on the GPU!
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
final int size = 1000;
final float[] a = new float[size];
final float[] b = …Run Code Online (Sandbox Code Playgroud) 我正在使用 Apache HttpClient 3.5 和 Spring Web Services 2.1.0 处理 Java 6 项目。
我的 Spring WebServicesTemplate 正在使用 apache HttpClient 发送 WebServices 请求。但是,我正在联系的服务已逐步淘汰 TLS 1.0,转而支持 TLS 1.2。Java 6 不支持 TLS 1.2。我被引导到 bouncycastle,它应该给我 TLS 1.2 支持。
如何将 bouncycastle 与 Spring 或我的 HttpClient 集成,以便我可以发送支持 TLS 1.2 的请求?我找到了一个提供扩展 SSLSocketFactory 的解决方案。但是,HttpClient 只接受 SSLConnectionSocketFactory。
升级到 Java 8 在短期内是不可行的,但如果有人可以确认它会解决我的问题,我可以将其作为长期优先事项。
我已经使用 maven 创建了一个 web 项目并将其导入到 eclipse 中。然后,我在 cmd >> mvn spring-boot:run 上执行命令,服务器(嵌入式 tomcat)启动正常并且能够在浏览器上显示我的页面。但是,我不知道为什么它在 websphere 8 上部署后失败了。在部署之间或由于缺少配置,我猜一定出了问题..(我不知道!>.<)
我在网上尝试了很多解决方案,阅读文档,在样本上重建样本,但似乎没有任何效果。由于我公司的安全政策(由于网络安全,我什至无法访问谷歌驱动器),我无法在此处上传任何内容。但是按照步骤应该足够接近重现我的情况(我确实尝试了很多次但它失败了,我不知道为什么!对不起,我很沮丧)
这是我正在使用的:
长话短说:
对于在线找到的大多数样本,我可以做到这一点,但麻烦来了
然后我找到了这个链接 [ http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-servlet-2-5],我想我需要一个 web.xml该项目。我在 /webapp/WEB-INF 下创建了一个新文件 web.xml 并从#howto-servlet-2-5 页面复制并粘贴了整个代码。这样对吗??
现在可以将 EAR 添加到 Websphere Application Server v8.0,转到 (WAS) 管理控制台,为该项目选择一个虚拟主机,保存并重新启动服务器。
在 Web …
我想检索Java 6中当前目录的绝对路径,但是不能使用Paths。
String currentDirectory = Paths.get(".").toAbsolutePath().normalize().toString();
Run Code Online (Sandbox Code Playgroud)
有什么选择?
在使用 maven 3.2.5 和本地存储库编译我的项目(在 java6 上)并下载了所有必需的 jar 时,我遇到了异常。该项目使用 maven2.0 构建良好,我们正在升级到 3.2.5。下载了所有必需的依赖 jar,但即使我看到存储库中存在 maven-filtering jar,它仍然会抱怨以下错误。
另外,我尝试了以下选项,但错误仍然相同。我在这里缺少其他任何地方或设置吗?
错误堆栈跟踪:
realm = plugin>org.apache.maven.plugins:maven-resources-plugin:2.6
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] = file:/C:/coding/repository-new/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.jar
urls[1] = file:/C:/repository-new/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
Number of foreign imports: 1
import: Entry[import from realm ClassRealm[maven.api, parent: null]]
-----------------------------------------------------
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) …Run Code Online (Sandbox Code Playgroud) 我试图理解,为什么我们需要Offer和OfferLast方法Deque,因为这两种方法都在Deque. 它的意义何在?
我看到新的Desktop类(我想用它的浏览(uri)方法)包括检查以验证它是否受支持.如果我正在为多个操作系统分发我的应用程序,我是否应该期望它有时不受支持,并坚持像"Bare Bones Browser Launch"这样的代码作为后备方法,或者这是非常罕见的?任何特定的操作系统,我可能会遇到问题?
(我正在分发Mac/Win/Solaris/Linux,但如果您对它们有所了解,请随时回答有关任何特殊操作系统的问题.)
List<Object> list = new ArrayList<String>()
Run Code Online (Sandbox Code Playgroud)
当我使用上面的行编译器给我类型不匹配错误.但正如我所理解的,Object是String的超类,如果我创建了对象列表,那么它也应该接受String.那么为什么上述陈述是错误的.我正在寻找解释.
java-6 ×10
java ×6
collections ×2
maven ×2
annotations ×1
aparapi ×1
arraylist ×1
attributes ×1
deque ×1
eclipse ×1
httpclient ×1
java-7 ×1
jaxb ×1
macos ×1
maven-3 ×1
maven-plugin ×1
opencl ×1
path ×1
reflection ×1
spring ×1
spring-boot ×1
ssl ×1
string ×1
tls1.2 ×1
web ×1