小编Ran*_*nga的帖子

@Resource 注释在 Tomact 10.0.10 中不起作用

最近我尝试了 Tomcat 10.0.10,当尝试将连接池作为 JNDI 资源注入时,发现注释@Resource不起作用。

然后我尝试通过创建 a 以编程方式获取它InitialContext并且它起作用了。最初我认为它仅适用于 java:comp/env/jdbc 所以我尝试使用如下所示的简单 bean 并尝试使用注释注入它,但@Resource它再次不起作用。当我尝试通过创建 a 以编程方式获取它时InitialContext,它起作用了。然后我检查@PostConstruct@PreDestroy注释是否有效,发现它们也不起作用。

package lk.ijse.test.tomcatdbcp;
    
public class Something {
}
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0" encoding="UTF-8"?>
<Context>

    <Resource name="bean/Something" auth="Container"
              type="lk.ijse.test.tomcatdbcp.Something"
              factory="org.apache.naming.factory.BeanFactory"
              />

</Context>
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0" encoding="UTF-8"?>
<web-app metadata-complete="false" 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">

    <resource-env-ref>
        <resource-env-ref-name>bean/Something</resource-env-ref-name>
        <resource-env-ref-type>lk.ijse.test.tomcatdbcp.Something</resource-env-ref-type>
    </resource-env-ref>
</web-app>
Run Code Online (Sandbox Code Playgroud)
package lk.ijse.test.tomcatdbcp;

import java.io.*;

import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;

import javax.naming.InitialContext;
import javax.naming.NamingException;

@WebServlet(name = "helloServlet", value = …
Run Code Online (Sandbox Code Playgroud)

java tomcat servlets jakarta-ee

6
推荐指数
1
解决办法
1724
查看次数

为什么 git 不给我任何冲突?

我发现了一个奇怪的问题。我正在测试一个 git repo 并在这种情况下发现。

我创建了一个简单的 git repo 并添加了一个包含以下内容的文本文件。

Hello Git..!

First Line
Run Code Online (Sandbox Code Playgroud)

作为初始提交提交。

然后我从该提交创建了一个名为“abc”的分支,并将文件的内容更改为下面的内容。

(abc) -> 分支

Hello Git..!

First Line
Second Line
Run Code Online (Sandbox Code Playgroud)

坚定的。然后我检查回我的主分支并将文件内容更改为下面。

(主)-> 分支

Hi Git..!

First Line
Run Code Online (Sandbox Code Playgroud)

坚定的。然后我尝试将“abc”分支合并到“master”分支。我以为这会给我带来冲突,但它已通过递归成功合并到下面。

Hi Git..!

First Line
Second Line
Run Code Online (Sandbox Code Playgroud)

什么没有显示任何冲突?如果像下面这样之间没有空行,我有时会尝试几次,

Hello Git...!
First Line
Run Code Online (Sandbox Code Playgroud)

那么它表明存在冲突。我无法理解这一点。有人请帮助我理解这一点。

我尽可能多地搜索,但我无法找到问题或答案来解决我的问题。

我已将示例存储库上传到 GitHub。如果有人克隆它并尝试合并,它可以被复制。

https://github.com/Ranjith-Suranga/test-repo

有没有办法强制GIT显示冲突?我知道这是一个奇怪的问题,没有人需要发生冲突。但我也不喜欢这样的事情发生。试想一下,这发生在我的真实代码中。

更新


由于大多数评论和答案都在暗示不能有任何这样的冲突。我不得不更新这个答案。

好的,让我们在删除第二个空行后再次执行上述所有步骤。

开始了,

  1. 我创建了一个简单的 git repo 并添加了一个包含以下内容的文本文件。这次第一行和第二行之间没有空行。
Hello Git..!
First Line
Run Code Online (Sandbox Code Playgroud)

作为初始提交提交。

  1. 然后我从该提交创建了另一个名为“abc”的分支,并将文件的内容更改为下面的内容。(再次删除空行)

(abc) -> 分支

Hello Git..!
First Line
Second Line
Run Code Online (Sandbox Code Playgroud)

坚定的。

  1. 然后我检查回我的主分支并将文件内容更改为下面。

(主)-> 分支

Hi Git..!
First …
Run Code Online (Sandbox Code Playgroud)

git git-merge-conflict

5
推荐指数
1
解决办法
1082
查看次数

标签 统计

git ×1

git-merge-conflict ×1

jakarta-ee ×1

java ×1

servlets ×1

tomcat ×1