我正在写一个任务,将文件从一个公共文件夹中的特定位置解压,如下所示
class UnzipTask extends DefaultTask{
@TaskAction
def unzip(){
def library = []
def comp = []
project.fileTree( dir: 'libs', include: '*.jar').visit { FileVisitDetails details ->
if ( !details.file.name.contains('dev') ) {
library<< details.file.name
}
}
library.each { fileName ->
comp << fileName.substring( 0, fileName.length()-4 )
}
project.copy{
comp.each { dist ->
def dName = dist.substring( 3, dist.lastIndexOf('-') )
def zipFile = project.file("${libs/${dist}.zip")
println("this is zipFIle"+zipFile)
from( project.zipTree( zipFile ))
{
into ( "${distributionName}")
}
}
}
}
现在,当我执行任务时,它会给我NullPointerException,而没有其他细节。我不知道还需要什么。
这是我在stackTrace中得到的信息:
原因:java。org上的lang.NullPointerException。格雷德尔。应用程序编程接口。内部的文件IdentityFileResolver。doResolve(IdentityFileResolver.java:39)位于org。格雷德尔。应用程序编程接口。内部的文件抽象文件解析程序。在org上解析(AbstractFileResolver.java:81)。格雷德尔。应用程序编程接口。内部的文件抽象文件解析程序。在org上解析(AbstractFileResolver.java:63)。格雷德尔。应用程序编程接口。内部的文件抽象文件解析程序。org上的basedir(AbstractFileResolver.java:59)。格雷德尔。应用程序编程接口。内部的文件DefaultFileLookup。org上的getFileResolver(DefaultFileLookup.java:41)。格雷德尔。应用程序编程接口。内部的文件复制文件复印机。getCopyVisitor(FileCopier.java:59)位于org。格雷德尔。应用程序编程接口。内部的文件复制文件复印机。在org上复制(FileCopier.java:49)。格雷德尔。应用程序编程接口。内部的文件DefaultFileOperations。在org上复制(DefaultFileOperations.java:134)。格雷德尔。应用程序编程接口。内部的项目抽象项目。在org上复制(AbstractProject.java:776)。格雷德尔。应用程序编程接口。内部的项目抽象项目。在org上复制(AbstractProject.java:772)。格雷德尔。应用程序编程接口。项目$copy$5。在com上拨打(未知来源)。vitalconnect。格雷德尔。任务。解压分发任务。unzipDist(UnzipDistributionTask.groovy:25)位于org。格雷德尔。内部的反映JavaMethod。在org上调用(JavaMethod.java:75)。格雷德尔。应用程序编程接口。内部的项目taskfactory。AnnotationProcessingTaskFactory$StandardTaskAction。doExecute(AnnotationProcessingTaskFactory.java:227)位于org。格雷德尔。应用程序编程接口。内部的项目taskfactory。AnnotationProcessingTaskFactory$StandardTaskAction。在org上执行(AnnotationProcessingTaskFactory.java:220)。格雷德尔。应用程序编程接口。内部的项目taskfactory。AnnotationProcessingTaskFactory$StandardTaskAction。在org上执行(AnnotationProcessingTaskFactory.java:209)。格雷德尔。应用程序编程接口。内部的AbstractTask$TaskActionWrapper。在org上执行(AbstractTask.java:585)。格雷德尔。应用程序编程接口。内部的AbstractTask$TaskActionWrapper。在org上执行(AbstractTask.java:568)。格雷德尔。应用程序编程接口。内部的任务。处决ExecuteActionsTaskExecuter。org上的executeAction(ExecuteActionsTaskExecuter.java:80)。格雷德尔。应用程序编程接口。内部的任务。处决ExecuteActionsTaskExecuter。executeActions(ExecuteActionsTaskExecuter.java:61)。。。60多
在Gradle 3.1上遇到了同样的问题。正如gradle团队在论坛帖子中所解释的:
您看到的问题是由于复制规范没有基本目录造成的。不过,这个错误消息还有很多需要改进的地方。我为此开通了GRADLE-34064。
[...]
很简单,每个复制操作都需要调用()w/o一个闭包参数。
[...]
我们在使用复制任务时显式验证了这一点,但在调用project时却没有。出于某种原因复制()。
似乎他们给了它一个不会修复状态的标签。
在我的情况下,我需要改变:
copy {
// wrong, the main spec lacks `into` call, as I do `from("x", {...})`
from "src/META-INF/persistence.xml", { into "classes/META-INF" }
}
进入:
copy {
// now ok
from "src/META-INF/persistence.xml"
into "classes/META-INF"
}
您没有定义变量d
,您已经定义了dName
两次。这可能是问题所在吗?
我和我的朋友正在开发一个JavaFX应用程序,它充当我们学校的规划器。我们有任务(课堂作业)、事件、课程和学生信息。为了将数据持久地存储在用户的硬盘上,我们使用了JAXB。 我们已经注释了我们的类,并且可以成功地在包装器中整理任务类。问题是解组文件。 > 混淆名称和注释。命名似乎不是问题所在。 确定文件位置以确保其正确。 确定知道的类。它同时识别和类。 sysouting。它在内存中显示了一个有效
以下是在sun.reflect.nativeMethodAccessorImpl.Invoke0(本机方法)在sun.reflect.nativeMethodAccessorImpl.Invoke(未知源)在sun.reflect.NativeMethodAccessorImpl.Invoke(未知源)在java.lang.Reflect.Method.Invoke(未知源)在com.codena
问题内容: 我正在android中做一个应用程序,因此我需要访问com.android.internal.telephony API。现在,我可以访问这些API了,但问题是,无论我在自己的类中调用Class Call.java方法的什么地方,都会抛出。您可以在http://hi- android.info/src/com/android/internal/telephony/Call.java.h
我正在创建一个包含教授字段的表单,这个字段是id(长)、nome(字符串)、username(字符串)、email(字符串)和curso_coord(curso),因为curso是一个类课程的引用变量。 我尝试了curso.get(0).getid()来解决这个问题,但这是不够的 2019-10-04 15:37:00.700错误17580---[nio-8081-exec-1]C.P.P.Con
我正在尝试使用selenium webdriver、testng和page Factory实现自动化。但我面临空指针异常。
> 单击 受保护得空onPrepareDialog(int id,Dialog Dialog) 受保护的对话框onCreateDialog(int id) 如果我对timepickerdialog代码做了什么错误,请告诉我。