我在我的一个项目上实现了Gradle .我使用带有gradle插件的Netbeans 8.02.
结构是应该的,源位于jgli/src/main/java/,资源下jgli/src/main/resources/
主类是 jgli/src/main/java/test/Main.java
如果我通过ide运行它,它在Windows 上运行,它在linux 上崩溃.这就是为什么我现在试图通过控制台运行它:
java -jar jgli.jar
但我一直在:
错误无法找到或加载主类'test.Main'
这是我的 build.gradle
apply plugin: 'java'
sourceCompatibility = '1.8'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
// NetBeans will automatically add "run" and "debug" tasks relying on the
// "mainClass" property. You may however define the property prior executing
// tasks by passing a "-PmainClass=<QUALIFIED_CLASS_NAME>" argument.
//
// Note however, that you may define your own "run" and "debug" task if you
// …Run Code Online (Sandbox Code Playgroud) 我有一个.java(driver.java)文件,我正在尝试编译并从命令行运行.它使用被调用的外部库EXT.jar,其结构只是一个名为EXT的文件夹,里面有几十个类.
所以我跑:
javac -cp EXT.jar driver.java
Run Code Online (Sandbox Code Playgroud)
这很好地编译了这个类.
然后当我跑:
java -cp EXT.jar driver
Run Code Online (Sandbox Code Playgroud)
我得到了java.lang.NoClassDefFoundError.
奇怪的是,如果我解压缩JAR(所以现在我在根目录中有一个名为EXT的文件夹),最后一个命令工作得很好!! 司机会执行!
有什么方法可以让driver.class从而EXT.jar/EXT/*class不是实际的EXT文件夹中查找需要的类文件?
谢谢!
我有问题,这个电话
URL fileURL = getClass().getResource(resourcePath);
适用于 Windows (7 64b) 但不适用于返回 null 的 linux (Ubuntu 13.10 64b)。
为什么?文件在那里,字符串如下(相对路径)
String resourcePath = "/tut01/shaders/vertex_shader.glsl"
Run Code Online (Sandbox Code Playgroud)
两个文件都在我家
编辑:该项目是新克隆的,我忘了清理和构建,抱歉..所以现在它找到了它们。然而,这很奇怪,因为即使我修改了 vertex_shader.glsl,我的程序也将始终引用旧版本,每次编辑它时,我都需要执行清理和构建才能看到更改...为什么?在 Windows 上,我不必这样做..
所以我在几个类中有数百个字段,我想在它们上面编写一些方法,它们会自动显示println每个字段及其对应的值
目前我有这个:
inner class Version(val profile: Profile) {
@JvmField val MINOR_VERSION = glGetInteger(GL_MINOR_VERSION)
fun write(file: File? = null) {
//file.printWriter().use { out -> out.pri }
this::class.java.fields.forEach {
println(it.isAccessible)
println(it.getInt(it)) }
}
}
Run Code Online (Sandbox Code Playgroud)
但这就是我得到的:
false
Exception in thread "main" java.lang.IllegalArgumentException: Can not set final int field uno.caps.Caps$Version.MINOR_VERSION to java.lang.reflect.Field
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167)
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171)
at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:58)
at sun.reflect.UnsafeQualifiedIntegerFieldAccessorImpl.getInt(UnsafeQualifiedIntegerFieldAccessorImpl.java:58)
Run Code Online (Sandbox Code Playgroud)
任何的想法?
作为标题,我想知道正确的执行顺序,以防我们有一个3d块
我想要记住,我已经读过一些关于它的东西了,但是不久之前,我不记得在哪里,但它是由一个看起来不那么可靠的人来的.
无论如何,我想对此有一些确认.
它是如下(在经线中划分)?
[0,0,0] ... [blockDim.x,0,0] - [0,1,0] ... [blockDim.x,1,0] - (...) - [0,blockDim .y,0] ... [blockDim.x,blockDim.y,0] - [0,0,1] ... [blockDim.x,0,1] - (...) - [0,blockDim .y,1] ... [blockDim.x,blockDim.y,1] - (...) - [blockDim.x,blockDim.y,blockDim.z]
我正在开发一个涉及.obj文件的小git项目.
当我查看"项目标签"时,我发现它们被忽略了

但我不明白为什么,如果我看看我的.gitignore:
/DepthPeeling/nbproject/private/
/DepthPeeling/dist/
/DepthPeeling/build/
Run Code Online (Sandbox Code Playgroud)
看起来很好
如果我打开一个Git Bash并输入
$ git add dragon.obj
The following paths are ignored by one of your .gitignore files:
DepthPelling/sry/depthPeeling/data/dragon.ogj
Use -f if you really want to add them.
fatal: no file added
Run Code Online (Sandbox Code Playgroud)
武汉理工大学?
可能有不止一个.gitignore文件?如果我找到它们,我只找到项目本身的根目录中的一个(我之前显示的那个),仅此而已......
编辑:所以看起来我有一个全局忽略D:\ Documents\gitignore_global.txt
#ignore thumbnails created by windows
Thumbs.db
#Ignore files build by Visual Studio
*.obj
*.exe
*.pdb
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
*.dll
*.lib
*.sbr
Run Code Online (Sandbox Code Playgroud) 我这里有一些很大的性能问题
所以我想在gpu方面进行一些测量。
通过阅读此线程,我围绕绘制函数编写了此代码,包括 gl 错误检查和 swapBuffers()(确实禁用了自动交换)
gl4.glBeginQuery(GL4.GL_TIME_ELAPSED, queryId[0]);
{
draw(gl4);
checkGlError(gl4);
glad.swapBuffers();
}
gl4.glEndQuery(GL4.GL_TIME_ELAPSED);
gl4.glGetQueryObjectiv(queryId[0], GL4.GL_QUERY_RESULT, frameGpuTime, 0);
Run Code Online (Sandbox Code Playgroud)
并且由于 OpenGL 渲染命令应该是异步的(驱动程序可以在一批命令一起发送之前最多缓冲 X 个命令),我的问题主要是:
上面的代码是正确的
我假设在新帧开始时所有先前的 GL 命令(来自前一帧)都已在 gpu 上发送、执行和终止
假设当我获得查询结果时glGetQueryObjectiv,GL_QUERY_RESULT到目前为止所有 GL 命令都已终止,我是对的?那是 OpenGL 会等到结果可用(来自线程)吗?
我试图寻找类似的答案,但我还没有得到/找到解决方案,然后我直接要求暴露我的情况
我有一个静态函数 validate
private static void validate(AiNode pNode) {
...
for (AiNode child : pNode.mChildren) {
doValidation(child.mMeshes, child.mMeshes.length, "a", "b");
}
}
}
Run Code Online (Sandbox Code Playgroud)
pNode.mChildren是一个数组AiNode。
这是我的 doValidation
private static <T> void doValidation(T[] pArray, int size, String firstName, String secondName) {
// validate all entries
if (size > 0) {
if (pArray == null) {
throw new Error("aiScene." + firstName + " is NULL (aiScene." + secondName + " is " + size + ")");
}
for (int i …Run Code Online (Sandbox Code Playgroud) 我决定尝试将libgdx用于图形。但是,它使用gradle来管理程序包;但是我对gradle的经验很少。
我的问题是,如果我有代码的库(.jar文件)。通常在netbeans中,我可以右键单击“库”并选择“添加jar /文件夹”,它将库添加到我的ant文件中,更重要的是,ide现在可以识别.jar并将其公开给自动完成等。
在gradle上,通过将以下内容放入构建,我只得到了显示在“ dependencies”分支中的文件:
dependencies {
runtime fileTree(dir: 'libs', include: '*.jar')
}
但是,这些库将不会导入,也无法识别它们的存在。gradle的(非常大)在线文档似乎只想处理存储库,而我找不到netbeans gradle的文档。任何帮助将不胜感激。
java ×5
github ×2
gradle ×2
netbeans-8 ×2
arrays ×1
command-line ×1
compilation ×1
cuda ×1
elapsedtime ×1
find ×1
generics ×1
getresponse ×1
git ×1
gitignore ×1
gpu ×1
jar ×1
java-8 ×1
kotlin ×1
libgdx ×1
linux ×1
markdown ×1
opengl ×1
opengl-4 ×1
reflection ×1
timing ×1
windows ×1