我正在开发 Flutter 项目,但是当我想运行我的应用程序时,我遇到了这个错误:
任务“:app:xxxxxxxx”执行失败。
执行 com.android.build.gradle.internal.tasks.Workers$ActionFacade java.lang.OutOfMemoryError 时发生失败(无错误消息)
我尝试过多种解决方案,例如:
将 gradle.properties 文件更改为:
重新启动我的电脑
检查我的电脑和手机是否有足够的内存
将 minSdkVersion 提高到 30
但似乎并没有太大帮助。
到目前为止,我发现了两种在启动时配置 Spring Boot 应用程序的方法,一种使用-D,另一种使用--如下:
java -jar -Dspring.profiles.active=test app.jar
java -jar --spring.profiles.active=test app.jar
Run Code Online (Sandbox Code Playgroud)
有时,第一个有效,有时第二个有效。正如开发人员发现的,当run以下示例中的方法未给定args参数时,--该方法不起作用,但-D可以。
public static void main(final String[] args) {
SpringApplication.run(Application.class, args);
}
Run Code Online (Sandbox Code Playgroud)
今天,我在命令行配置 logback,发现不起作用,-Dlogback.configurationFile=/full_path/logback.xml但--logging.config=file:logback.xml确实有效。
以上可能有其他原因,也许logback.configurationFile是错误的,但它的作用是相似的-D和--不同的。
那么我的问题是-Dand是什么--,是 Java 还是 Spring 的东西?为什么不工作和工作之间存在差异?
当我想启动Wildfly服务器时出现以下错误:
09:26:10,548 警告 [org.jboss.modules.define](MSC 服务线程 1-1)无法在模块“deployment.demo-0.0.1-SNAPSHOT.war”中定义类 jakarta.faces.webapp.FacesServlet服务模块加载器:java.lang.NoClassDefFoundError:无法链接...
但在我更改后(在web.xml文件中):
<servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
Run Code Online (Sandbox Code Playgroud)
到
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
Run Code Online (Sandbox Code Playgroud)
错误消失了。
我已经尝试过jakarta.faces-api依赖项的4.0.0和3.0.0版本:
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/jakarta.faces/jakarta.faces-api -->
<dependency>
<groupId>jakarta.faces</groupId>
<artifactId>jakarta.faces-api</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
</plugin>
</plugins>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
这是我的 web.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version="5.0">
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
</web-app> …Run Code Online (Sandbox Code Playgroud) 我在非泛型类中创建了一个具有两种类型参数的泛型方法,如下所示:
static <T, V extends T> boolean testMethod(T t, V[] v) {
return true;
}
Run Code Online (Sandbox Code Playgroud)
第二个类型参数定义为V extends T。
现在考虑通过以下参数调用此方法:
testMethod("text", new Integer[]{1, 2});
Run Code Online (Sandbox Code Playgroud)
当我尝试使用上述参数调用此方法时,我预计会出现类型不匹配的错误,因为类型参数T替换为String和V替换为Integer和 正如您所见,它的V边界是T,这意味着它必须是 String 类型或其派生类,但必须是 Integer不属于其中。但代码段编译运行成功,没有任何问题。
有人可以解释一下我对这个概念的印象有什么问题吗?
我创建了一个remote repository并推送我的项目,但.gitignore文件不允许上传整个文件和文件夹(例如vendor和storage文件夹).所以,如果我的合作者想要clone我的项目他们不能完全完成fetch我的laravel项目.
我的问题是你如何与远程存储库(如github)中的协作者共享laravel项目的一些文件和文件夹(例如供应商,存储......)?
我有一个共享变量计数,我在方法中递增它increment(),并且两个线程正在访问它。我得到了错误的最终计数。这是代码片段:
public class ReentrantLockTest {
static volatile int count = 0;
public static void main(String[] args) throws InterruptedException {
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
for(int i = 0; i < 10000; i++){
increment();
}
}
});
Thread t2 = new Thread(new Runnable() {
@Override
public void run() {
for(int i = 0; i < 10000; i++){
increment();
}
}
});
t1.start();
t2.start();
t1.join();
t2.join();
System.out.println("Counter variable : "+count);
}
private static …Run Code Online (Sandbox Code Playgroud) 我正在使用jakarta.jakartaee-api 9.1.0和H2 2.1.212。
当我尝试将H2 Console Servlet添加到 web.xml 文件时出现此错误:
'org.h2.server.web.WebServlet' 不可分配给 'javax.servlet.Servlet,jakarta.servlet.Servlet'
这是我的 web.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="5.0"
xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd">
<data-source>
<name>java:global/dataSource</name>
<class-name>org.h2.jdbcx.JdbcDataSource</class-name>
<url>jdbc:h2:mem:test;MODE=LEGACY</url>
</data-source>
<servlet>
<servlet-name>H2Console</servlet-name>
<servlet-class>org.h2.server.web.WebServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>H2Console</servlet-name>
<url-pattern>/h2/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>jakarta.ws.rs.core.Application</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>jakarta.ws.rs.core.Application</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
我该如何修复该错误?
java ×5
servlets ×2
android ×1
composer-php ×1
concurrency ×1
flutter ×1
generics ×1
git ×1
github ×1
h2 ×1
jakarta-ee ×1
jsf ×1
laravel ×1
spring-boot ×1
wildfly ×1