使用Maven构建可执行JAR时,如何指定执行JAR时使用的JVM参数?
我可以使用指定主类<mainClass>.我怀疑JVM参数有类似的属性.特别需要指定最大内存(例如-Xmx500m).
这是我的程序集插件:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.me.myApplication</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
是否有允许预览JSP文件的Eclipse插件或功能?理想情况下,这样的功能会识别Spring标签.在Eclipse中编辑JSP,然后构建和部署以查看结果是一个很大的痛苦.
我的Web应用程序使用Java,Hibernate的JPA实现(EntityManager)和Spring.我的记录器选择是什么,你会推荐什么?理想情况下,配置很简单(一个配置文件用于Hibernate,Spring和我的代码).
假设有一个名为callme.jar的jar文件
它位于几个目录中,
如何分析在运行时使用哪一个?
它可以用于Desktop.open(File f)引用位于JAR中的文件?
我尝试使用ClassLoader.getResource(String s),将其转换为URI,然后从中创建文件.但这导致了IllegalArgumentException: URI is not hierarchical.
URL url = ClassLoader.getSystemClassLoader().getResource(...);
System.out.println("url=" + url); // url is valid
Desktop.getDesktop().open(new File(url.toURI()));
Run Code Online (Sandbox Code Playgroud)
可能性是JavaRanch的答案,即从JAR中的资源创建一个临时文件 - 不是很优雅.
这是在Windows XP上运行的.
使用macvim,当我复制文本选择时,它总是包含光标下的字符.
例如,如果光标位于最左侧,我按下向下箭头,则选择整行加上下一行的第一个字符(因为光标位于下一行的第一个字符上).
有没有办法将macvim配置为不在文本选择中包含游标字符?
我试图将包含二进制值(例如000010001010011)的字符串转换为其十六进制值.(453)
我一直在尝试几个选项,但主要是我得到每个角色的转换值.(0 = 30 1 = 31)
我有一个函数可以通过非数学方式将我的输入转换为二进制代码,但是通过一系列"if,else if"语句.(这些值不计算,因为它们不是标准的.)二进制代码包含在变量String"binOutput"中
我目前有这样的事情:
String bin = Integer.toHexString(Integer.parseInt(binOutput));
Run Code Online (Sandbox Code Playgroud)
但这根本不起作用.
使用Java,我想剥离片段标识符并执行一组不同URI的简单规范化(例如,小写方案,主机).输入和输出URI在一般HTTP意义上应该是等效的.
通常,这应该是直截了当的.但是,对于像http://blah.org/A_%28Secret%29.xml#blah%这样编码的URI ,(Secret)行为java.util.URI会使生活变得困难.
规范化方法应该http://blah.org/A_%28Secret%29.xml从URI 返回,http://blah.org/A_%28Secret%29.xml并且http://blah.org/A_(Secret).xml在解释中不等同[§2.2; RFC3968 ]
所以我们有以下两种规范化方法:
URI u = new URI("http://blah.org/A_%28Secret%29.xml#blah");
System.out.println(u);
// prints "http://blah.org/A_%28Secret%29.xml#blah"
String path1 = u.getPath(); //gives "A_(Secret).xml"
String path2 = u.getRawPath(); //gives "A_%28Secret%29.xml"
//NORMALISE METHOD 1
URI norm1 = new URI(u.getScheme().toLowerCase(), u.getUserInfo(),
u.getHost().toLowerCase(), u.getPort(), path1,
u.getQuery(), null);
System.out.println(norm1);
// prints "http://blah.org/A_(Secret).xml"
//NORMALISE METHOD 2
URI norm2 = new URI(u.getScheme().toLowerCase(), u.getUserInfo(),
u.getHost().toLowerCase(), u.getPort(), path2,
u.getQuery(), null);
System.out.println(norm2);
// prints "http://blah.org/A_%2528Secret%2529.xml"
Run Code Online (Sandbox Code Playgroud)
如我们所见,在没有片段标识符的情况下解析和重建URI.
但是,对于方法1,u.getPath() …
Joda Time LocalDate将自己描述为:
LocalDate是一个不可变的日期时间类,表示没有时区的日期.
然而,有一个LocalDate(Object instant, DateTimeZone zone)接受时区的构造函数.如果对象是无时区的,那么时区构造函数的目的是什么?
构造函数JavaDocs声明:
从Object构造一个表示日期时间的实例,将时区强制为指定的时间.
我不知道"强制指定时区"是什么意思,因为该对象是无时区的.也许它在内部转换为UTC,然后丢弃时间(保留日期).
我LinkedList在O(1)处将n个条目推入Java .
我希望稍后在O(1)删除几个独特的项目.
我虽然要保留一个带有"指针"的数组,LinkedList但是我可以稍后删除它们.
有没有办法在LinkedList任何其他java类上执行此操作?
我尝试将迭代器存储到项目中.所以我可以使用iter.remove().但我明白当时列表中只能有一个迭代器.
我知道一个简单的解决方案可能是我自己实现链接列表.但我宁愿使用LinkedList或已经实现的其他Java类.