У меня был запущенный «Динамический веб-проект», который я также преобразовал в проект Maven.
Я мог бы вызвать страницу .xhtml, и мой ManagedBean был назван -> Отлично!
Я понял, что мне не хватает тестовой папки модульного тестирования.
Шаблон динамического веб-проекта от Eclipse не сгенерировал это (я люблю это).
Так что мне придется сделать это самому, хотя я отсоединил src от пути сборки и создал папки src / main / java и снова связал папку java с buildpath.
Моя цель состояла в том, чтобы иметь отдельную тестовую папку параллельно.
А теперь .xhtml больше не вызывает управляемый бин. CDI-сканер, кажется, больше не находит аннотированные компоненты. Потому что я не вижу отношений в этом случае, я спрашиваю здесь. Где изменение папки влияет на веб-проект?
My Managed Bean:
src / main / java / managedbeans:
@Named("mybean")
@RequestScoped
public class MyBean implements Serializable{
Часть моего .xhtml:
<h:outputText value="#{mybean.getMessage()}" />
часть моего pom.xml, где я изменил sourceDirectory с src на src / main / java:
...
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.1</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
</configuration>
</plugin>
</plugins>
</build>
bean.xml в WEB-INF не затрагивается:
<?xml version="1.0"?>
<beans bean-discovery-mode="all" version="2.0"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_2_0.xsd"
/>