我有一个看起来像这样的Java程序.
public class LocalScreen {
public void onMake() {
aFuncCall(LocalScreen.this, oneString, twoString);
}
}
Run Code Online (Sandbox Code Playgroud)
LocalScreen.this意味着什么aFuncCall?
Parent是Child继承的类.这是由GrandChild继承的.每个类都包含子类的List(即Parent包含Child和Child的List包含GrandChild的List).每个类包含50个属性(attrib1-atrib50).getChildList()返回类型为Child的对象的arrayList getGrandChildList()返回GrandChild类型的对象的arrayList
设resultSet为Parent列表
List<Parent> resultSet
Run Code Online (Sandbox Code Playgroud)
现在我想根据一些属性对列表进行排序.例如,如果我想基于两个父属性(比如属性1和属性2)对resultSet进行排序,我使用此代码.
Comparator<Parent> byFirst = (e1, e2) -> e2.getAttrib1().compareTo(e1.getAttrib1());
Comparator<Parent> bySecond = (e1, e2) -> e1.getAttrib2().compareTo(e2.getAttrib2());
Comparator<Parent> byThird = byFirst.thenComparing(bySecond);
List<Parent> sortedList = resultSet.stream().sorted(byThird).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
现在我想根据Child类的属性1和GrandChild类的属性1对父列表进行排序.我应该如何排序呢.
为什么每次编译时都会出现"使用未经检查或不安全的操作"错误?代码有什么问题?我复制了本教程中完全相同的代码http://www.mkyong.com/java/json-simple-example-read-and-write-json/
import java.io.FileWriter;
import java.io.IOException;
import org.json.JSONArray;
import org.json.JSONObject;
public class JsonSimpleExample {
public static void main(String[] args) {
JSONObject obj = new JSONObject();
obj.put("name", "mkyong.com");
obj.put("age", new Integer(100));
JSONArray list = new JSONArray();
list.add("msg 1");
list.add("msg 2");
list.add("msg 3");
obj.put("messages", list);
try {
FileWriter file = new FileWriter("c:\\test.json");
file.write(obj.toJSONString());
file.flush();
file.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.print(obj);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个带锁的声明式詹金斯管道,例如
pipeline {
environment {
BRANCH = 'master'
}
agent any
stages{
stage('stage') {
options {
lock(resource: "lock-${env.BRANCH}")
}
steps {
echo "Something"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我执行管道时,日志中显示
[Pipeline] lock
Trying to acquire lock on [lock-null]
Lock acquired on [lock-null]
[Pipeline] {
[Pipeline] echo
master
[Pipeline] }
Lock released on resource [lock-null]
Run Code Online (Sandbox Code Playgroud)
当评估 lock-name 时,环境变量似乎没有设置,但是当评估 echo 参数时,它被正确设置。
这个对一个有点相关的问题的答案给出了使用延迟评估的 GString 而不是普通 GString 的提示。尝试这个:
pipeline {
environment {
BRANCH = 'master'
}
agent any
stages{
stage('stage') {
options {
lock(resource: "lock-${->env.BRANCH}" …Run Code Online (Sandbox Code Playgroud) 我正在尝试更新 中的一个 jar ,这个剩余的 jar 基本上是一个 SpringBoot Jar,并且具有解压它时rest-xxxx.jar的文件夹结构。BOOT-INF/lib/<dependencies.jars>
现在我想替换 this 中的依赖项 jar rest-xxxx.jar,所以我使用了以下命令:
jar uf rest-xxxx.jar BOOT-INF/lib/new-version-jar-same-name.jar
Run Code Online (Sandbox Code Playgroud)
我在启动过程中如何遇到错误:
线程“main”中出现异常 java.lang.IllegalStateException:无法打开嵌套条目“BOOT-INF/lib/new-version-jar-same-name.jar”。它已被压缩,嵌套的 jar 文件必须在不压缩的情况下存储。请检查用于创建可执行 jar 文件的机制
我注意到 jar 命令有一个0选项可以避免压缩,所以我这样做了:
jar u0f rest-xxxx.jar BOOT-INF/lib/new-version-jar-same-name.jar
Run Code Online (Sandbox Code Playgroud)
但后来我遇到了类似的压缩问题,如下所示:
线程“main”中出现异常 java.lang.IllegalStateException:无法打开嵌套条目“BOOT-INF/lib/new-version-jar-same-name.jar/META-INF/MANIFEST.MF”。它已被压缩,嵌套的 jar 文件必须在不压缩的情况下存储。请检查用于创建可执行 jar 文件的机制
当我需要替换给定 springboot jar 中的依赖 jar 时,我该怎么办?
请注意:我知道最佳实践是从更新的 pom.xml 构建,我们的限制是我们目前无法获得正确版本的源代码,因此我们正在尝试修补现有的 springboot jar 而不是重建它。
在PowerShell脚本中,我所说的计划,并希望重定向stdout和stderr到不同的文件,同时还显示两者在控制台输出。所以基本上,我想要
stdout -> stdout
stdout -> out.log
stderr -> stderr
stderr -> err.log
Run Code Online (Sandbox Code Playgroud)
到目前为止,我想出了这个代码,但不幸的是它只满足要求 1、2 和 4。Stderr 没有打印在屏幕上。
& program 2>"err.log" | Tee-Object -FilePath "out.log" -Append | Write-Host
Run Code Online (Sandbox Code Playgroud)
我怎样才能打印stderr到控制台?由于写入 tostderr产生红色字体,我不想重定向stderr到stdout,因为那样我会失去错误的视觉印象。
我想创建一个带有登录名的 React 应用程序。为了维护用户状态,我想使用React 16.3 中引入的Context API 。在实现登录路由时,我遵循了React Router 文档中的示例。
下面的源代码(正如我希望的那样)是我的问题的一个非常简化的最小示例。当我localhost:3000/protected在浏览器中打开时,URL 正确更改为localhost:3000/login,但未显示该组件。该render()方法似乎没有被调用。
我如何说服 React 渲染我的登录组件?
这是我的源代码。
应用程序.js
import React, {Component} from 'react';
import {
BrowserRouter as Router,
Route
} from 'react-router-dom'
import Login from "./Login";
import Protected from "./Protected";
import ProtectedRoute from "./ProtectedRoute";
import UserContext from "./UserContext";
export default class App extends Component {
render() {
return (
<Router>
<UserContext.Provider value={false}>
<div>
<ProtectedRoute path='/protected' component={Protected}/>
<Route path='/login' component={Login}/>
</div>
</UserContext.Provider>
</Router> …Run Code Online (Sandbox Code Playgroud) 我想org.eclipse.swt为片段创建一个扩展.我创建了一个swt.extension包含以下MANIFEST.MF 的包:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Extension
Bundle-SymbolicName: swt.extension
Bundle-Version: 1.0.0.qualifier
Fragment-Host: org.eclipse.swt;bundle-version="3.102.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Run Code Online (Sandbox Code Playgroud)
另外,我创建了一个从SWT扩展接口的接口:
public interface IExtendedStyleTextContent extends org.eclipse.swt.custom.StyledTextContent {
}
Run Code Online (Sandbox Code Playgroud)
当我使用tycho(mvn clean install)构建项目时,会发生以下错误:
1. ERROR in C:\<path>\tycho-fragment-to-fragment-dependency\swt.extension\src\org\example\tycho_example\IExtendedStyleTextContent.java (at line 3)
public interface IExtendedStyleTextContent extends org.eclipse.swt.custom.StyledTextContent {
^^^^^^^^^^^
org.eclipse cannot be resolved to a type
Run Code Online (Sandbox Code Playgroud)
似乎tycho只解析了org.eclipse.swt jar.这是一个主机包,它不包含任何类.实际的实现是在org.eclipse.swt.win32.win32.x86_64片段包中.当tycho-compiler-plugin编译项目时,看起来这个bundle不在classpath上.
这是第谷的错误吗?他们有任何变通方法吗?
我把所有资源放在GitHub上:https://github.com/orionll/tycho-fragment-to-fragment-dependency
我使用maven 3.1.0
在我的 testrunner 类中,在使用时@CucumberOptions,我收到一条错误消息,指出“CucumberOptions 无法解析为类型”。我正在使用最新版本的 eclipse 黄瓜依赖项。我已经尝试了所有可能的方法,通过安装和卸载 eclipse,通过降低黄瓜依赖版本。
我的跑步课程是:
import org.junit.runner.RunWith;
import cucumber.api.junit.*;
import cucumber.api.testng.AbstractTestNGCucumberTests;
@RunWith(Cucumber.class)
@CucumberOptions(
// format = {"pretty","html:target/html/" } ,
features = "src/test/resources", glue = "com.cucumber.bhsibase.party.tests")
public class TestRunner extends AbstractTestNGCucumberTests {
}
Run Code Online (Sandbox Code Playgroud)
还有我的 POM.xml :
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>BHSI_BASE</groupId>
<artifactId>BHSI_BASE</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>BHSI_BASE</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- dependencies added for testng start -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.11</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-testng -->
<dependency>
<groupId>info.cukes</groupId> …Run Code Online (Sandbox Code Playgroud) 嗨伙计们我是PowerMockito的新手,我想在PoweMockito中使用whenNew并且它不适合我,有人可以帮我解决这个问题吗?
下面是我用来测试Class2的Test方法,我使用PowerMockito.whenNew来模拟Class2中的mockTestMethod并将String Value作为"MOCKED VALUE"返回但是没有发生,实际上该方法正在执行并输出为"PassedString" ".如果我没有错,那么Output应该将字符串作为"Inside Class2方法MOCKED VALUE",但我得到输出为"Inside Class2方法PassedString".请帮助我解决这个问题,在此先感谢.
以下是我正在处理的完整程序
package com.hpe.testing2;
public class Class2 {
public void testingMethod(){
Class1 class1 = new Class1();
String result = class1.mockTestMethod("PassedString");
System.out.println("Inside Class2 method " + result);
}
}
package com.hpe.testing2;
public class Class1 {
public String mockTestMethod(String str2){
String str1="SomeString";
str1 = str2;
System.out.println("Inside MockTest Method " + str1);
return str1;
}
}
Run Code Online (Sandbox Code Playgroud)
class2在内部调用Class1 mockTestMethod,如上所示.
package com.hpe.testing2;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
@PrepareForTest({Class2.class,Class1.class})
public class …Run Code Online (Sandbox Code Playgroud) java ×6
maven ×2
class ×1
comparator ×1
cucumber ×1
jar ×1
java-8 ×1
java-stream ×1
jenkins ×1
junit ×1
osgi ×1
package ×1
powermockito ×1
powershell ×1
react-router ×1
reactjs ×1
selenium ×1
sorting ×1
spring-boot ×1
this ×1
tycho ×1