我在Intellij Idea 2018社区版中有一些测试代码,它有多个pom文件.当我运行任何testng注释测试时,我收到一条错误,上面写着"没有找到测试".看起来问题是由于异常堆栈跟踪的这一部分:
java.lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge
我搜索了一个解决方案,发现了这个 - https://github.com/FasterXML/jackson-annotations/issues/119和这个/sf/answers/3248424931/.当我们在项目中没有相同版本的这些jar时,看起来会出现此问题.
1)jackson-core(2.8.8)
2)jackson-databind(2.9.2)
3)jackson-annotations(2.8.5)
如您所见,我对所有罐子没有相同的版本.我查看了项目中的所有poms,但没有找到任何添加所有这些依赖项的地方.我希望只是在那里设置版本号.我应该简单地在父pom文件中添加所有依赖项还是做其他事情?
如何在不损害项目的情况下解决此问题?我怎么知道为什么这些罐子的版本不一样?
我有一个Maven项目my-work
,它有两个源目录
src/test/java
和src/main/java
.我需要将它们转换为一个JAR文件,以便其他项目可以使用它们,但我最终将它们转换为两个单独的JAR.现在,我需要能够为这两个JAR中的每一个创建源JAR.
我首先通过将其添加到my来创建两个JAR main/
和test/
目录pom.xml
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
然后,我尝试了这里的说明来制作源JAR.问题是它只创建一个源JAR,即my-work-0.0.1-SNAPSHOT-sources.jar
.但是,我希望它也能创造my-work-0.0.1-SNAPSHOT-tests-sources.jar
.我怎么做?
这是完整的POM:
<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>com.myproject</groupId>
<artifactId>my-work</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<!--etc-->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<name>mywork</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies> …
Run Code Online (Sandbox Code Playgroud) 当我在 VS 代码或 Visual Studio 代码中调试 Javascript 代码时,我希望它在代码旁边显示变量的值。如何让 VS 代码做到这一点?
理想情况下,不想将鼠标指针变量悬停在每个变量上只是为了查看其值,尤其是当变量的值仅在屏幕上占据几个字符时。还有其他 IDE,其调试器旁边会显示一个变量当前值。
例子 :
var array = [1,2,3,4,5,6,7];
for(var i = 2; i < 5; i++){ "i : 3"
array.splice(i,1); "array : {1,2, 4, 5,6,7}"
}
Run Code Online (Sandbox Code Playgroud) 系统 - Win 7 64 位。Nodejs - node-v6.9.4-x64.msi
安装错误 - 正在进行另一个安装。在继续安装之前,您必须完成该安装。
无效的解决方案 - 以管理员身份运行,以管理员身份通过命令行运行,日志出现与我在安装程序中看到的相同的错误,不要安装在线文档选项,
请帮我解决这个问题。谢谢 !
假设我们有一个HTML表格,基本上是这样的:
2|1|28|9|
3|8|5|10|
18|9|8|0|
Run Code Online (Sandbox Code Playgroud)
我想选择仅包含8个单元格的单元格,即,第2行的第2个单元格和第3行的第3个单元格。
这是我尝试过的://table//td[contains(.,'8')]
。它给了我所有包含8的单元格。因此,我也得到了不必要的值28和18。
我该如何解决?
编辑:这是一个示例表,如果您想尝试您的xpath。使用左侧的日历-https : //sfbay.craigslist.org/sfc/
我是 Javascript 新手,我正在尝试从教程中学习模块。在 Visual Studio Code/VScode 中有一个文件夹,其中有两个文件:script.js 和 external.js。
Script.js 从 external.js 导入内容并将文本打印到控制台。当我使用 node.js 运行配置从 vs code 运行 script.js 时,出现以下错误。有人可以告诉我为什么会发生这种情况以及如何解决它吗?相比之下,Java 中的导入很简单。
import {keyValue} from './external.js';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:1070:16)
at Module._compile (internal/modules/cjs/loader.js:1120:27)
Run Code Online (Sandbox Code Playgroud)
外部.js:
export let keyValue = 1000;
Run Code Online (Sandbox Code Playgroud)
脚本.js:
import {keyValue} from './external.js';
console.log(keyValue);
Run Code Online (Sandbox Code Playgroud)
更新: 节点版本 - v12.16.2,升级到 v14.4.0。
我想使用fiddler监视我的浏览器在访问某些页面时所做的api调用.
该技术 - Fiddler 4.6x,Chrome 56,Firefox 51,Windows 7 64位.
问题 - Fiddler不能使用chrome.当我在chrome上打开任何页面时,我收到错误"您的连接不是私密的:攻击者可能试图从网站窃取您的信息(例如,密码,消息或信用卡).NET :: ERR_CERT_AUTHORITY_INVALID".仅供参考,我轻松修复了与firefox类似的问题.
解决方案我尝试失败 - 四个小时的谷歌和堆栈溢出并没有给我任何解决方案.
将fiddler证书转换为pk 7 ??? 格式.
将fiddler证书导入chrome.另外,授予cert各种高级权限.
重新生成fiddler证书并重新启动fiddler和浏览器,如官方提琴手书中所述.
在2,3中,证书从未出现在受信任的证书商店中,但出现在个人和即时证书商店中.1,甚至没有发生任何事情.请告诉我如何才能完成这项工作.任何指向所有这些基础知识的链接都会有所帮助.
我想要https://sfbay.craigslist.org的 IP 地址。
C:\Users\dude>ping https://sfbay.craigslist.org
Ping request could not find host https://sfbay.craigslist.org.
Please check the name and try again.
Run Code Online (Sandbox Code Playgroud)
所以,我尝试了 nslookup。输出中的 IP 均不允许我使用浏览器连接到该网站。如何获得正确的 IP 并连接?
C:\Users\nisum>nslookup https://sfbay.craigslist.org/
Server: cachens1.paetec.net
Address: 66.155.216.122
Non-authoritative answer:
Name: https://sfbay.craigslist.org/
Addresses: 104.239.198.84
198.105.254.65
Run Code Online (Sandbox Code Playgroud) 我想计算整数列表的平均值,然后将结果四舍五入(即> = .5向上舍入为最接近的整数,而<.5向下舍入为最接近的整数)。如何使用Java流执行此操作?
public static void main(String [] args){
List<Integer> values = new ArrayList<>();
values.add(60);
values.add(30);
values.add(20);
double avg = values.stream().mapToInt(a -> a).average().getAsDouble();
System.out.println(avg);
}
Run Code Online (Sandbox Code Playgroud)
我希望有类似的东西
...average().round(RoundingMode.HALF_UP).getAsInt();
Run Code Online (Sandbox Code Playgroud) 这是其他人在这里提出的问题的后续内容如何通过函数返回 cy.request 的响应
我想创建一个调用 api、处理响应并仅返回响应的一部分的函数。我有下面的代码,其中的代码不起作用。我收到编译器错误 - 类型既不是未定义、void 也不是 null 的函数应该返回一个值。我该如何进行这项工作?
Add(someName) : ItemClass {
cy.request({
method: 'POST',
url: someURL,
body: {
name: someName
}
}).then(function(response) {
let result = response.body.find((item) => {return item.id === 123})
return result; // result is of type ItemClass
})
}
Run Code Online (Sandbox Code Playgroud) 我在下面的代码中犯了一个错误。在变量“x”中,我存储了字符串“s”中的一个字符。然后,我错误地增加了“x”,这导致了代码后给出的错误。为什么 JS 允许我首先增加一个字符变量?如何防止发生此类错误?
function jsFun(s){
var x = s.charAt(0);
s++;//Wrong !
x = s.charAt(1);
return x;
}
console.log(jsFun("one"));
Run Code Online (Sandbox Code Playgroud)
错误:在第 4 行。
TypeError: s.charAt is not a function
Run Code Online (Sandbox Code Playgroud) 我有一个代码示例,它创建这样的路径:
String path = System.getProperty("user.dir") + File.separator + "games" + File.separator + "game.exe";
Run Code Online (Sandbox Code Playgroud)
File.separator
反复打字很烦人,也很难。有没有更短的方法来创建路径?我创建了一个自定义函数来做到这一点,但我不确定它是否是正确的方法。请指教。
//Ex. getPath("downloads", "games", "racing.exe") ---> \downloads\games\racing.exe
public static String getPath(String...pathFragments){
StringBuilder sb = new StringBuilder(File.separator);
for(int i = 0; i < pathFragments.length-1; i++){
sb.append(pathFragments[i] + File.separator);
}
//Append last pathFragment.
sb.append(pathFragments[pathFragments.length-1]);
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud) 我试图做一个正则表达式,它将匹配如下所示的任何字符串:
User<spaces><Any positive integer here><spaces>Status:<anything here>
样本表达- User 1 Status: Not Ready.
正则表达式- ^[User].*\d+.*[Status:].*$
如您所见,我使用“。*”错误地匹配了空格。我尝试使用\ s和[“”]代替,但是它们没有用。如何处理此正则表达式中的空格或制表符?
顺便说一句,我使用https://regex101.com/和JavaScript regex解析器来验证我的Regex。我不知道是否有仅Java而不是JavaScript的不错的正则表达式帮助器网站。
谢谢。
java ×5
javascript ×4
maven ×2
windows ×2
certificate ×1
cypress ×1
fiddler ×1
html ×1
https ×1
jackson ×1
java-stream ×1
lambda ×1
node.js ×1
nslookup ×1
ping ×1
regex ×1
selenium ×1
typescript ×1
xml ×1
xpath ×1