鉴于:
int[] a = {1, 2, 3, 4};
int[] b = {1, 2, 3, 4, 5};
Run Code Online (Sandbox Code Playgroud)
如何使用hamcrest匹配器将"a"作为"b"的子集?
以下作品
assertThat(Arrays.asList(b), hasItems(a));
Run Code Online (Sandbox Code Playgroud)
但是由于我从"b"创建"a",我宁愿将"a"上的断言应用为值.就像是
assertThat(a, isSubsetOf(b));
Run Code Online (Sandbox Code Playgroud)
另外,最好避免将阵列转换为列表.
我们在JBoss 6.1上运行了一个遗留的JavaEE应用程序.使用Java 1.8.0_92运行JBoss6时,我们收到以下错误.请帮我解决或提供一些关于此错误的提示.
16:49:32,888 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/webSSO].[jsp]] Servlet.service() for servlet jsp threw exception: org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 1 in the generated java file
The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files
Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) [:6.1.0.Final]
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) [:6.1.0.Final]
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:446) [:6.1.0.Final]
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:362) [:6.1.0.Final]
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) [:6.1.0.Final]
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) [:6.1.0.Final]
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:607) [:6.1.0.Final]
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312) [:6.1.0.Final]
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) [:6.1.0.Final]
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) [:6.1.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) …Run Code Online (Sandbox Code Playgroud) 请考虑以下代码
string getName () {
return "meme";
}
string name = getName();
Run Code Online (Sandbox Code Playgroud)
函数getName()返回一个临时对象.在c ++ 03中,我理解调用"string"的复制构造函数并销毁临时对象.实际上似乎编译器(至少在gcc 4.7中)通过不创建对象"name"来优化第5行,而是将其替换为临时对象本身而不是破坏临时对象(我尝试使用MyVector类;而不是std :: string).
如C++ 11标准中所定义,
1.getName()是否返回rvalue?
2.在上面第5行中,字符串的构造函数被调用(移动还是复制)?我是否必须调用std :: move()来调用移动构造函数?
3.使用移动语义,它是否比编译器提供的"复制省略"优化效率低?
c++ move-semantics return-value-optimization copy-elision c++11
我最近被告知,集合应该优先于List作为EJB方法的返回值.这个论点是,通常集合更通用,即允许您在不影响客户端的情况下更改基础数据结构.如果这是您希望作为设计师的灵活性,那么使用集合将更有意义.但是,返回一个数组而不是集合会不会更有意义?
什么是性能影响,如果有的话?
提前致谢.
我希望GIT默认在Chrome浏览器中打开帮助页面虽然Windows 7默认浏览器是IE,但由于其他原因我无法更改.我已将以下内容添加到git配置文件中.
[web]
browser = chrome
[browser "chrome"]
cmd = C:/Program Files (x86)/Google/Chrome/Application/chrome.exe
path = C:/Program Files (x86)/Google/Chrome/Application/
Run Code Online (Sandbox Code Playgroud)
但它仍然打开IE浏览器.在git的bash环境中,它给出了消息"Launching default browser to display HTML ...".在Git Gui上,它会抛出更长的信息
The browser chrome is not available as 'C:/Program Files (x86)/Google/Chrome/Application/'.
The browser chrome is not available as 'C:/Program Files (x86)/Google/Chrome/Application/'.
while executing
"exec {C:/Program Files (x86)/Git/bin/sh.exe} {C:/Program Files (x86)/Git/libexec/git-core/git-web--browse} {file:C:/Program Files (x86)/Git/doc/git/ht..."
("eval" body line 1)
invoked from within
"eval exec $opt $cmdp $args"
(procedure "git" line 23)
invoked from …Run Code Online (Sandbox Code Playgroud) Eclipse Mars未能重建https://repo.maven.apache.org/maven2的索引.它停留在0%.
没有代理人.
在Windows 10和Ubuntu中都发生过.
有人可以帮我解决这个问题吗?
(我提出了另一个查询,其中类似问题发生在公司代理背后,但不确定它们是否相关.)
更新:我发现Eclipse m2e插件正在更新索引.这花了很长时间才做到这一点.但它不会更新进度条中的状态.这样可行.
但是,公司代理的问题仍然存在.
我和maven得到了以下错误
[WARNING] The POM for com.something:dependency_module:jar:103 is invalid, transitive dependencies (if any) will not be available: 2 problems were encountered while building the effective model for something:dependency_module:103
[ERROR] 'dependencies.dependency.systemPath' for org.jacorb:jacorb:jar must specify an absolute path but is ${jacorb2.3.1.home}/lib/jacorb.jar @
[ERROR] 'dependencyManagement.dependencies.dependency.systemPath' for org.jacorb:jacorb:jar must specify an absolute path but is ${jacorb2.3.1.home}/lib/jacorb.jar @
问题似乎是$ {jacorb2.3.1.home}未得到解决.但是变量实际上是在settings.xml中设置的.
<profile>
<id>jacorb2.3.1</id>
<properties>
<jacorb2.3.1.home>C:\apps\jacorb-2.3.1\</jacorb2.3.1.home>
</properties>
</profile>
Run Code Online (Sandbox Code Playgroud)
事实上,项目实际上编译得很好.它似乎只在读取依赖模块的POM时抛出此错误.
请帮助我理解为什么会发生这种情况以及如何解决它.
(注意:在依赖模块POM中添加属性似乎可以解决此问题,但我不想在项目设置中硬编码路径)
我正在开发一个包含多个子项目的 Kotlin 项目,如使用库示例构建 Kotlin 应用程序 (gradle.org)中所述
如下所示指定kotlin版本是否正确?
文件:buildSrc/build.gradle.kts
dependencies {
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:<kotlin-version>")
}
Run Code Online (Sandbox Code Playgroud)
另外,是否可以将此 kotlin 版本移至中央位置以声明项目范围的依赖项版本(例如 gradle.properties 或 buildSrc/**/Dependency.kt 或版本目录)?buildSrc/build.gradle.kts 似乎不支持提到的任何方法。
似乎资源不适用于Singleton的@Predestroy方法.
@PreDestroy
public void cleanup() {
logger.info("*** Application shutting down. Dropping temporary tables ***");
try {
connection = dataSource.getConnection();
Statement statement = connection.createStatement();
statement.execute("drop table TABLE1");
statement.execute("drop table TABLE2");
connection.close();
connection = null;
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
对getConnection()的调用失败,错误为" No Pool Meta Data object associated with the pool".请注意,在@PostConstruct方法中,getConnection()调用成功.
它是应用服务器实现中的Bug吗?如果没有,删除临时表的最优雅方法是什么?
(使用Glassfish 4.1.1 + Derby DB.使用与EAR一起部署的glassfish-resources.xml创建数据源
<resources>
<jdbc-resource pool-name="EmbeddedDerbyPool"
jndi-name="java:app/jdbc/ActionBazaarDS" />
<jdbc-connection-pool name="EmbeddedDerbyPool"
res-type="javax.sql.DataSource"
datasource-classname="org.apache.derby.jdbc.EmbeddedDataSource"
is-isolation-level-guaranteed="false">
<property name="databaseName" value="memory:action-bazaar-db"/>
<property name="createDatabase" value="create"/>
</jdbc-connection-pool>
</resources>
Run Code Online (Sandbox Code Playgroud)
)
更新:
我在GlassFish中创建了一个错误报告https://java.net/jira/browse/GLASSFISH-21476 …
我正在尝试为 Plantuml 序列图“注释”中的特定多行文本块设置背景颜色。
例如,在下面的 Plantuml 序列图片段中,如何为<code>注释的一部分应用特定的背景颜色?
participant Alice
note left of Alice
This text with default color.
<code>
println("Hello Alice")
println("Welcome to Wonderland!")
</code>
end note
Run Code Online (Sandbox Code Playgroud)
到目前为止,我只能找到<back:color>,但它似乎不适用于多行文本。