因此,当我尝试从另一个JavaScript文件导入类时,在控制台中出现如下错误:
Access to Script at 'file:///home/../.../JavaScript/src/index.js' from origin 'null' has been blocked by CORS policy: Invalid response. Origin 'null' is therefore not allowed access.
Run Code Online (Sandbox Code Playgroud)
在我的html文件中,我以这种方式添加脚本文件:
<script type="module" src="src/index.js"></script>
Run Code Online (Sandbox Code Playgroud)
我的index.js看起来像这样:
import Paddle from "/src/paddle";
let canvas = document.getElementById("gameScreen");
let ctx = canvas.getContext("2d");
const GAME_WIDTH = 800;
const GAME_HEIGHT = 600;
ctx.clearRect(0, 0, GAME_WIDTH, GAME_HEIGHT);
let paddle = new Paddle(GAME_WIDTH, GAME_HEIGHT);
paddle.draw(ctx);
Run Code Online (Sandbox Code Playgroud)
和paddle.js:
export default class Paddle {
constructor(gameWidth, gameHeight){
this.width = 150;
this.height = 30;
this.position = {
x: gameWidth/2 - …Run Code Online (Sandbox Code Playgroud) 将chromedriver更新至2.46版后,我的尝试无法初始化。我收到这样的消息:
Starting ChromeDriver 2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1) on port 44269
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Failed to invoke configuration method com.personal.CustomTest.initTests not created: Chrome version must be between 71 and 75
(Driver info: chromedriver=2.46.628402,platform=Windows NT 10.0.16299 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.58 seconds
Build info: version: '2.53.1'
Run Code Online (Sandbox Code Playgroud)
显然是我的浏览器版本无效。但是我使用的是Chrome 72.0.3626.119,所以它介于71和75之间。硒版本为2.53.1。我正在testNG的帮助下通过控制台命令运行测试。
任何的想法?我发现的每个想法都与更改硒版本有关,但我做不到。
尝试将数据模型类持久化到数据库时,我遇到了问题.我有一个这样的课:
class DataModelClass{
//some more field etc.
@Column(name = "number1", nullable = true)
private Integer number1;
@Column(name = "number2", nullable = true)
private Integer number2;
public DataModelClass(){}
(...)
public Integer getNumber2() {
return number2;
}
public void setNumber2( Integer number2 ) {
this.number2= number2;
}
}
Run Code Online (Sandbox Code Playgroud)
第一个字段是在第一个字段之后添加的.何时通过以下方式保持使用此类创建的对象:
em.persist(dataModelClass);
Run Code Online (Sandbox Code Playgroud)
创建数据库中的新行,但仅添加第一个字段.第二个是空的.当我调试对象时dataModelClass,每个字段都设置了一些整数值.当我number2通过pgAdmin 添加一个值,然后使用java代码检索此行时:
DataModelClass dmc = em.find(DataModelClass.class, 1);
Run Code Online (Sandbox Code Playgroud)
比dmc.getNumber2()不为空/ null.
有什么想法有什么不对吗?
[编辑]也许它会有所帮助,在数据模型(DataModelClass)类我得到了这个注释:
@Entity
@Table(name = "custom_table",
uniqueConstraints=@UniqueConstraint(name="UK_example_foreign_id", columnNames={"example_foreign_id"})
)
@SequenceGenerator(name = DataModelClass.SEQ_NAME, sequenceName = DataModelClass.SEQ_NAME, allocationSize = …Run Code Online (Sandbox Code Playgroud) 你有什么想法我怎么能在字符串的第二个点之后得到第一个字符.
String str1 = "test.1231.asdasd.cccc.2.a.2";
String str2 = "aaa.1.22224.sadsada";
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,我应该得到a第二种情况2.我想到用点划分字符串,并提取第三个元素的第一个字符.但它似乎很复杂,我认为有更好的方法.
首先,让我解释一下我想要实现的目标.我得到了由jBoss web容器运行的web应用程序(我们称之为MainApp).我的MainApp通过ProcessBuilder将jar文件作为单独的进程启动.
我读到我应该使用eclipse功能"远程Java应用程序",但它似乎不适合我.
那么让我告诉你我正在遵循的步骤:
java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -jar secondApp.jar
Run Code Online (Sandbox Code Playgroud)
localhost和端口设置为5005.8010.所以,让我添加一些注释,以便更好地理解我的问题.在我的WebApplication中,我得到了这样的代码类:
String commandLine = "java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -jar secondApp.jar";
ProcessBuilder pb = new ProcessBuilder(commandLine);
pb.run();
Run Code Online (Sandbox Code Playgroud)
它或多或少都是这样的:在jBoss中部署MainApp,当某个动作发生时,启动新的Process,它在服务器机器上启动secondApp.jar.
so I do have code like this:
public ConsumerTestClass(Consumer<String> consumer) {
}
public static void printString(String text) {
System.out.println(text);
}
Run Code Online (Sandbox Code Playgroud)
And from the method of other class, I would like to create object of ConsumerTestClass:
new ConsumerTestClass(/*passing consumer here*/);
Run Code Online (Sandbox Code Playgroud)
And as a consumer I would like to pass ConsumerTestClass::printString, but to be able to do that I need to pass argument as well, so it looks like that: (text) -> ConsumerTestClass.printString(text). And my question is... Is it …
我想知道如何在Stream Api的帮助下缩短我的代码.假设我有这样的方法:
public static void createFile( String directoryPath, String fileName )
Run Code Online (Sandbox Code Playgroud)
我想用相同的参数调用这个方法5次.例如
for (int i = 0; i < 5; i++) {
Utils.createFile(getDirectoryLocation(), "test.txt");
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以这样做:
IntStream.rangeClosed(1, 5).forEach(Utils::someMethod);
Run Code Online (Sandbox Code Playgroud)
但在这里,我将一个整数值传递给方法.任何人都可以给我一些提示或答案?
我试图让自己更熟悉Java 8 Stream api.目前我想翻译像流一样的东西,但似乎我仍然不够舒服,因为我不知道如何做到这一点.
boolean isTrue = false;
for (Integer integer : intList) {
if (integer > 10) {
isTrue = true;
break;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在玩Java中的泛型。但是我确实有问题。简而言之,这段代码应该转换一个列表中的一个对象,而不是将其放入另一个列表中。(从T到U)
我的代码看起来像这样
public class ListConvertor<T, U> {
private final Convertor<T, ? extends U> convertor;
public ListConvertor( Convertor<T, ? extends U> convertor ) {
this.convertor = convertor;
}
public void convertList( List<T> from, List<U> to ) {
if ( from == null )
return;
for ( T ch : from ) {
to.add( convertor.convert( ch ) );
}
}
}
public interface Convertor<T, V> {
V convert( T dataModelObject ) throws JEDXException;
}
Run Code Online (Sandbox Code Playgroud)
对于以下内容,它可以正常工作:
new ListConvertor<>(new IntListConvertor()).convertList(in.getIntLists(), out.getIntLists());
Run Code Online (Sandbox Code Playgroud)
当像上面那样使用此代码时,一切正常,因为intand …
java ×8
java-8 ×5
java-stream ×2
debugging ×1
eclipse ×1
ecmascript-6 ×1
hibernate ×1
javascript ×1
jpa ×1
postgresql ×1
regex ×1
selenium ×1
string ×1
webdriver ×1