小编nik*_*tsa的帖子

Java 8 Javascript引擎向后兼容性

我正在我的项目中尝试Java 8,我遇到了与构建过程相关的错误.

我正在使用ANT脚本,并且在某些时候我使用一些javascript(嵌入到ANT中)来执行一些特定的操作.导致错误的脚本部分如下所示:

<script language="javascript"> 

        <![CDATA[

        importClass(java.io.File);
        importClass(java.io.FileReader);
                    ...
                    ]]>
</script>
Run Code Online (Sandbox Code Playgroud)

该项目使用Java 7或Java 6构建正常,但在使用Java 8时它给我一些错误.这些错误与JS引擎的升级有关.

特别是我得到以下异常:

javax.script.ScriptException:ReferenceError:"importClass"未在行中定义

经过一些谷歌搜索后,我发现它与JDK中的以下问题有关

[#JDK-8025132]

我尝试了评论中的建议,但没有运气.

如何使Java 8 Nashorn引擎与Rhino JS引擎兼容?

java ant java-8 nashorn

24
推荐指数
1
解决办法
1万
查看次数

合并2 .jks信任库文件

我正在使用启用了SSL的Tomcat,使用truststores进行客户端身份验证.

我有两个.jks可信任文件.

第一种,我将它用于PROD环境,另一种用于TEST环境客户端证书.

我在Tomcat上部署Web应用程序,直到现在我在配置中设置了上述文件之一(根据环境).

是否有可能将这些文件合并到一个.jks信任库中,该信任库将接受PROD和TEST环境的客户端证书?

我需要提一下,我有两个信任商店的密码.

谢谢!

java security jks keytool

18
推荐指数
1
解决办法
2万
查看次数

Spring ConversionService添加转换器

我搜索了下面的问题,但找不到答案.

我想通过编写实现org.springframework.core.convert.converter.Converter的自定义转换器来使用spring的转换服务.

然后我添加我的自定义转换器如下:

<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
    <property name="converters">
        <list>
            <bean id="StringToLoggerConverter" class="com.citi.spring.converter.LoggerConverter" />
       </list>
   </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

在执行上述操作时,我的应用程序初始化失败,因为我重写了bean conversionService并仅注册了我的自定义转换器.

我怎么能不覆盖conversionService并只将我的自定义转换器添加到转换器列表中,同时保留现有转换器?

提前致谢.

java spring type-conversion

14
推荐指数
2
解决办法
2万
查看次数

如何确定GraphicsEnvironment是否存在

我有一个需要用户输入密码的应用程序.

我想要做的是从控制台读取密码(如果操作系统支持一个例如unix)或显示JOptionPane并要求用户输入他的密码(如果操作系统支持图形界面,例如窗口).

有些人可能会争辩说,在上述两种情况下控制台总是可用,所以控制台输入就足够了.但问题是如果Java应用程序开始使用javaw.exe,则控制台不可用.因此,我需要一种方法来确定我是否可以做任何一种情况.

我的问题是如何确定运行应用程序的环境是支持控制台还是图形界面.

我知道存在静态方法 GraphicsEnvironment.isHeadless() 但是从Java doc我认为这种方法无法区分操作系统是否支持图形,而是操作系统是否可以支持其中一种I/O设备(键盘,鼠标,屏幕).

有谁知道更多关于这个?如果操作系统支持控制台或图形环境,我能够检索吗?

提前致谢.

java swing awt console-application

11
推荐指数
1
解决办法
3641
查看次数

Java SxS(并排)配置

我正面临一个非常模糊的问题,而我正试图在Windows中运行一个Java应用程序,并排(SxS).

我已经完成了创建java.exe.config和java.exe.manifest文件的所有准备工作,这些文件与JRE位于同一个文件夹中.

当我从命令行调用它时(通过启动.bat文件),应用程序正常运行..bat文件使用SxS配置的Java(这是我运行应用程序的框中唯一的一个)

但是,当我尝试从另一个Java进程(使用Runtime.getRuntime.exec())内部调用它时,或者ProcessBuilder它似乎完全忽略了SxS配置,并且子Java进程抱怨它无法找到COM库,这就是我必须执行SxS的原因.我必须补充说,父Java流程也是由为SxS配置的Java.exe启动的.因此,我认为" Runtime.getRuntime(), ProcessBuilder()"会给我Java SxS加载环境.

使用一些Windows工具(procexp.exe,procmon.exe)进行进一步调试我发现以下内容:当我从.bat文件启动应用程序时,.manifest文件通常由crss.exe读取(因为它应该是).但是,当Java生成另一个进程时,根本不考虑.manifest文件.我能想到的一个可能的问题是,启动进程的Java.exe的当前目录与java.exe.manifest文件所在的目录不同.

我唯一能想到的是java启动器中的错误/问题(或者他们称之为功能).

有没有人有类似的问题?任何人都可以对上述事项有所了解吗?非常感激.

到目前为止,我尝试过以下方法:

  • 从.bat文件中运行java进程.保护正常工作
  • 使用父Java进程调用java进程 Runtime.getRuntime().exec(). DID NOT WORK
  • Invoked the .bat file from a parent Java process using Runtime.getRuntime().exec()
  • Runtime.getRuntime.exec()
  • ProcessBuilder.不工作
  • 使用ProcessBuilder设置.manifest文件所在的当前目录.不工作

java sxs side-by-side

11
推荐指数
1
解决办法
1474
查看次数

Powershell启动作业同步输出

我有一个启动工作的powershell脚本

start-job -scriptblock { 
  while($true) {
    echo "Running"
    Start-Sleep 2
  }
}
Run Code Online (Sandbox Code Playgroud)

然后它继续执行脚本的其余部分.

那项工作对于该过程的PID来说是一种监控.

我想每隔n秒同步打印PID,而不必结束工作.

例如,当正在执行脚本的其余部分时,我希望在我的控制台中看到输出.

在PowerShell中有类似的东西吗?

谢谢.

powershell scripting start-job

7
推荐指数
1
解决办法
2987
查看次数

IntelliJ 14 Maven编译问题

我今天已经更新到IntelliJ 14.0.1。我导入了我在IntelliJ 13.1上工作的Maven项目,尽管成功导入了该项目,但是当我尝试从IntelliJ MakeCompile从IntelliJ获得该项目时却找不到依赖项。

我需要说的是,即使从IntelliJ内部进行Maven安装,也成功。但是,当我Make出现项目错误时,表明缺少库(依赖项)。

在我看来,以某种方式从IntelliJ进行的编译步骤不会吸收Maven依赖项,或者没有考虑pom.xml到这一点。

有没有人遇到过类似的事情?关于如何解决该问题的任何想法?我已经尝试过重新导入该项目,但没有帮助。另外,我创建了一个仅将JUnit作为依赖项的虚拟项目,但是即使这样,IntelliJ仍在抱怨说,org.junit.Test当我尝试运行测试时找不到。

更新:

我在IntelliJ日志中看到以下内容,这可能是相关的。好像编译被中止了。

2014-11-14 17:17:11,460 [247914]信息-j.compiler.server.BuildManager-BUILDER_PROCESS [stdout]:17:17:11,445 | -ch.qos.logback.classic.LoggerContext中的INFO [默认]-在[jar:file:/ C:/ Program%20Files%20(x86)/JetBrains/IntelliJ%20IDEA%20Community%20Edition%2014.0.1/plugins/gradle/lib/gradle.jar中找到资源[logback.groovy]! /logback.groovy]

2014-11-14 17:17:11,460 [ 247914]   INFO - j.compiler.server.BuildManager - BUILDER_PROCESS [stdout]: 17:17:11,446 |-ERROR in ch.qos.logback.classic.LoggerContext[default] - Groovy classes are not available on the class path. ABORTING INITIALIZATION.

2014-11-14 17:17:13,459 [ 249913]   INFO - lij.compiler.impl.CompilerUtil -              COMPILATION FINISHED (BUILD PROCESS); Errors: 5; warnings: 0 took 2652 ms: 0 min 2sec
Run Code Online (Sandbox Code Playgroud)

compilation intellij-idea maven maven-compiler-plugin intellij-14

5
推荐指数
1
解决办法
2346
查看次数

Tomcat连接器匹配属性警告

我正在尝试配置tomcat以使用SSL处理连接,为密钥库提供服务器证书和信任库以供客户端证书信任.连接器配置如下所示:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
    maxThreads="200"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="/server_certs/webserver_certificate.p12"
    keystorePass="password"
    keystoreType="pkcs12"
    trustoreFile="/server_cert/truststore_dev.jks"
    trustorePass="changeit"
    trustoreType="jks"
    clientAuth="true"
    sslProtocol="TLS" />
Run Code Online (Sandbox Code Playgroud)

上面的问题是我在日志中收到以下警告:

"警告:[SetAllPropertiesRule] {服务器/服务/连接器}将属性"trus toreFile"设置为"C:\ Apps\apache\apache-tomcat-7.0.41\server_certs\truststore_dev.jk s"未找到匹配的属性. "

我猜这意味着不考虑信任库.当我尝试访问网页时,它抱怨客户端没有服务器所需的任何证书.

我在做什么有什么不对吗?我认为trustoreFile,truststorePasstruststoreType是Connector的常见属性.

任何帮助非常感谢.

java security ssl tomcat ssl-certificate

4
推荐指数
1
解决办法
1万
查看次数

Hudson工作区在建筑时被锁定

我最近在CI环境中遇到了问题.

我正在使用Hudson ver.1.395.1SVN ver 1.4.2.

我的Hudson不断轮询SVN进行任何更改,如果是这样,它将启动一个版本.

最近此操作失败,并显示以下消息

Updating https://MY_SVN_URL/trunk
Workspace appear to be locked, so getting a fresh workspace
Checking out https:/MY_SVN_URL/trunk
ERROR: Failed to check out https://MY_SVN_URL/trunk
org.tmatesoft.svn.core.SVNException: svn: Working copy '/Hudson/workspace/MY_PROJECT_NAME' locked; try performing 'cleanup'
Run Code Online (Sandbox Code Playgroud)

必须注意的是,这只发生在我提交更改并且Hudson尝试触发构建时(通过轮询SVN).当我手动触发构建时,问题不会发生.

在我看来,轮询是锁定Hudson工作区,更新操作是找到锁定的工作区.

以前有没有人遇到过同样的情况?对此有何解决方案?

谢谢.

svn hudson polling jenkins

3
推荐指数
1
解决办法
6197
查看次数

Unix 替换引号内的新行

我试图在 Unix 中弄清楚以下内容。

我有一个csv文件分为几列,其中一些列有一些带有换行符的文本。通常文本以引号开头和结尾。我想消除引号之间的那些换行符,以便文本显示在一行中。

例如内容如下所示:

HEADER1, HEADER2, HEADER3, HEADER4
data1, data2, data3, "Text here with
new line 
characters"
Run Code Online (Sandbox Code Playgroud)

我希望它显示如下:

HEADER1, HEADER2, HEADER3, HEADER4
data1, data2, data3, "Text here with new line characters"
Run Code Online (Sandbox Code Playgroud)

我尝试使用awk和等工具sed,但运气不佳。

感谢任何帮助

regex unix bash awk sed

2
推荐指数
1
解决办法
3222
查看次数

找不到Visual Studio单元测试

我正在使用Visual Studio作为C#应用程序.

在我的电脑中,我安装了Gallio,这是一套测试工具(包括测试运行器).我的单元测试是使用NUnit框架的正常单元测试.在我的PC上,Visual Studio可以识别并运行测试.

但是当我更换PC或者从我手中卸载Gallio时,Visual Studio无法再找到单元测试,如下所示:

"没有运行测试,因为未加载任何测试或禁用所选测试"

我知道我的项目无法加载的事实是因为Gallio.当我在我的项目中添加Test类时,Test Type被设置为Gallio.我尝试了几乎所有东西,使Visual Studio能够再次找到我的测试类,但没有任何运气.

有没有人有同样的问题?任何想法为什么会这样?

谢谢.

c# nunit unit-testing visual-studio-2010 visual-studio

0
推荐指数
1
解决办法
5433
查看次数