1.致命错误: 在类路径或引导类路径中找不到程序包 java.lang 解决方法:找到compilerArguments标签 Windows分隔符英文分号; <bootclasspath>${java.home }/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath> linux分隔符英文冒号: <bootclasspath>${java.home}/lib/rt.jar :${java.home}/lib/jce.jar</bootclasspath>
confluence/display/MAVEN/MojoFailureException在 原因是有多个JDK版本或者JDK版本引入混乱导致的 解决方法: 在maven的配置文件pom.xml中,把 <bootclasspath >${java.home}/rt.jar;${java.home}/jce.jar</bootclasspath> 注释即可 <plugin> <groupId>org.apache.maven.plugins -- <bootclasspath>${java.home}/rt.jar;${java.home}/jce.jar</bootclasspath> --> </compilerArguments> </configuration> </plugin> <plugin> 直接在pom文件中搜索bootclasspath
正确配置如下:Windows(分隔符英文分号):XML/HTML code bootclasspath ${java.home}/lib/rt.jar;${java.home}/lib/jce.jar </ bootclasspath linux(分隔符英文冒号):XML/HTML code bootclasspath ${java.home}/lib/rt.jar:${java.home}/ lib/jce.jar</ bootclasspath
正在优化的zipfile的文件名(用于调试消息和 *用于与BOOTCLASSPATH进行比较;不需要 *可访问或甚至存在) * 5. dexopt标志 * *假定BOOTCLASSPATH环境变量包含正确的 输出文件名 * 4. dexopt标志 * *假定BOOTCLASSPATH环境变量包含正确的 *引导类路径。 标志(优化级别,isBootstrap) * 10. bootclasspath条目#1 * 11. bootclasspath条目#2 * ... * *dalvik/vm/analysis/ * *bootclasspath条目将成为此DEX文件的依赖项。 * *打开的文件描述符不能用于任何bootclasspath文件。 ) == bcpLen-1); } ALOGV(" bootclasspath is '%s'", bootClassPath); /* start the VM partway
<target>1.8</target> <compilerArguments> <bootclasspath >C:\Program Files\Java\jdk1.8.0_202\jre\lib\rt.jar</bootclasspath> </compilerArguments <target>1.8</target> 14 <compilerArguments> 15 <bootclasspath >C:\Program Files\Java\jdk1.8.0_202\jre\lib\rt.jar</bootclasspath> 16 </compilerArguments
javaCompile.destinationDir.toString(), "-classpath", javaCompile.classpath.asPath, "-bootclasspath ", project.android.bootClasspath.join(File.pathSeparator)] log.debug "ajc args: " + Arrays.toString com.android.build.gradle.LibraryPlugin 解决方法一:注释掉LibraryPlugin plugin = project.plugins.getPlugin(LibraryPlugin) 和 "-bootclasspath ", plugin.project.android.bootClasspath.join(File.pathSeparator) 解决方法二:将plugin.project.android.bootClasspath.join (File.pathSeparator) 替换为 android.bootClasspath.join(File.pathSeparator) 参考文章: https://www.jianshu.com
<source>1.7</source> <target>1.7</target> <compilerArguments> <bootclasspath >${JAVA_HOME}/jre/lib/rt.jar</bootclasspath> </compilerArguments> </configuration> </plugin > 注意: 1:这里的rt.jar需要配置正确的路径 2:如果使用的类,接口等在其他的jar里面(如tools.jar),则bootclasspath值需要配置成其他的jar 配置好之后,再编译打包,就没有问题了
(), "-classpath", javaCompile.classpath.asPath, "-bootclasspath ", project.android.bootClasspath.join(File.pathSeparator)] log.debug "ajc args: " + Arrays.toString (), "-classpath", javaCompile.classpath.asPath, "-bootclasspath ", project.android.bootClasspath.join(File.pathSeparator)] log.debug "ajc args: " + Arrays.toString
native函数中存在不常用的类,而我们需要,唯一的方法就是从sdk中取出android.jar,后缀名改成rar,然后解压到某个目录,最后在javah中添加bootstrapclass指令 javah -bootclasspath /jni -jni test.ndkdemo.PrintUtil bootclasspath 后面的时候解压出来的相对路径
jdk.version}</source> <target>${jdk.version}</target> <compilerArguments> <bootclasspath >${JAVA_HOME}/jre/lib/rt.jar</bootclasspath> </compilerArguments> <showWarnings>true
to include in zip Comiple .java into .class files 1 javac -encoding UTF-8 -source 1.6 -target 1.6 -bootclasspath -bootclasspath bootclasspath Cross-compile against the specified set of boot classes.
testSource> <testTarget>1.8</testTarget> <encoding>utf-8</encoding> <compilerArguments> <verbose /> <bootclasspath >${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath> </compilerArguments> </configuration
(), "-classpath", javaCompile.classpath.asPath, "-bootclasspath ", project.android.bootClasspath.join(File.pathSeparator)] log.debug "ajc args: " + Arrays.toString
(), "-classpath", javaCompile.classpath.asPath, "-bootclasspath ", project.android.bootClasspath.join(File.pathSeparator)] log.debug "ajc args: " + Arrays.toString (), "-classpath", javaCompile.classpath.asPath, "-bootclasspath ", project.android.bootClasspath.join(File.pathSeparator)] log.debug "ajc args: " + Arrays.toString
# 指定新的 bootclasspath,替换 java.* 包的内部实现 java -Xbootclasspath:<your_boot_classpath> your_App # a 意味着 append ,将指定目录添加到 bootclasspath 后面 java -Xbootclasspath/a:<your_dir> your_App # p 意味着 prepend,将指定目录添加到 bootclasspath
目录 前言 java 类加载器与路径 java 设置路径的方法 设置 bootclasspath 设置 Extensions JAR files 设置 classpath 测试程序 java -jar 启动时,`-cp`参数无效 jar 文件的 Class-Path java -jar 启动程序时,设置classpath的方法 方法1:修改 bootclasspath 方法2:修改 Extensions classpath java 类加载器与路径 java 类加载器有三个: Bootstrap CLassLoader ExtClassLoader AppClassLoader java 类加载器对应的路径: bootclasspath java 设置路径的方法 设置 bootclasspath 参考这里 设置 Extensions JAR files 参考这里 设置 classpath 参考这里 测试程序 创建maven项目PrintPath java -jar 启动程序时,设置classpath的方法 方法1:修改 bootclasspath 此种方法可以添加少量的jar文件。当jar文件很多时,应该也可以。
<compilerArguments> <verbose /> <bootclasspath >${java.home}\lib\rt.jar;${java.home}\lib\jce.jar</bootclasspath> </compilerArguments
bootstrap class 使用父类/接口替换子类,即ConcurrentMap替换ConcurrentHashMap声明 编译期间,替换掉bootstrap class javac编译时,可以指定bootclasspath ,来替换默认的加载路径,如下: javac -bootclasspath /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/ ConcurrentMap替换ConcurrentHashMap声明 上一种方案虽然可行,但是却不实用——因为不能要求ci服务器上有两个不同版本的JDK,也不能要求在maven构建时传递与安装路径如此紧耦合的值作为bootclasspath
", plugin.project.android.bootClasspath.join( File.pathSeparator)] MessageHandler handler (), "-classpath", javaCompile.classpath.asPath, "-bootclasspath ", project.android.bootClasspath.join(File.pathSeparator)] log.debug "ajc args: " + Arrays.toString project(':gintonic') compile 'org.aspectj:aspectjrt:1.8.1' } App主模块与其他库工程中的groovy构建语句唯一的差别是获取”-bootclasspath ”的方法不同,主模块中配置是project.android.bootClasspath.join(File.pathSeparator),而在库工程中则是plugin.getAndroidBuilder
# 指定新的bootclasspath,替换java. *包的内部实现 java -Xbootclasspath:<your_boot_classpath> your_App # a意味着append,将指定目录添加到bootclasspath后面 java -Xbootclasspath/a:<your_dir> your_App # p意味着prepend,将指定目录添加到bootclasspath前面 java -Xbootclasspath/p