Bom dia, a todos,
Sou iniciante em Maven, e num exercicio, o resultado que estou tendo é esse, conforme mostra a imagem:
Desde ontem, que quebro a minha cabeça tentando descobrir o que está errado e não consigo! 
O meu código é:
index.xhtml
<?xml version="1.0" encoding="UTF-8"?> Sistema 1<strong>Produtos.xhtml</strong>
<?xml version="1.0" encoding="UTF-8"?>
TODO supply a title
<h:form>
<h:commandButton value=“Novo Produto”
action="#{produtoController.novoProduto()}"/>
<h:dataTable value="#{produtoController.getProdutoList}"
var="produto" border="1" >
<f:facet name="header"> Produtos cadastrados</f:facet>
<h:column>
<f:facet name="header">Codigo</f:facet>
<h:outputText value="#{produto.codigo}" />
</h:column>
<h:column>
<f:facet name="header">Descricao</f:facet>
<h:outputText value="#{produto.descricao}" />
</h:column>
<h:column>
<f:facet name="header">Preco</f:facet>
<h:outputText value="#{produto.preco}" />
</h:column>
<h:column>
<f:facet name="header">Quantidade</f:facet>
<h:outputText value="#{produto.quantidade}" />
</h:column>
<h:column>
<f:facet name="header">Data de cadastro</f:facet>
<h:outputText value="#{produto.dataCadastro}" />
</h:column>
<h:column>
<f:facet name="header">ação</f:facet>
<h:commandLink value = "Alterar"
action = "#{produtoController.inicioAlterarProduto}">
<f:setPropertyActionListener
target = "#{produtoController.produto}" value = "#{produto}"/>
</h:commandLink>
<h:commandLink value = " / Excluir"
action = "#{produtoController.excluirProduto}">
<f:setPropertyActionListener
target = "#{produtoController.produto}" value = "#{produto}"/>
</h:commandLink>
</h:column>
</h:dataTable>
</h:form>
</body>
</html>
package br.com.fuctura.controller;
import br.com.fuctura.model.Produto;
import br.com.fuctura.dao.ProdutoDAO;
import java.sql.SQLException;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class ProdutoController
{
private Produto produto;
private ProdutoDAO produtoDAO;
private List<Produto> produtoList;
public ProdutoController() throws SQLException
{
produtoDAO = new ProdutoDAO();
}
public List<Produto> getProdutoList()
{
if (produtoList == null)
{
produtoList = produtoDAO.pesquisarTodos();
}
return produtoList;
}
public ProdutoDAO getProdutoDAO()
{
return produtoDAO;
}
public void setProdutoDAO(ProdutoDAO produtoDAO)
{
this.produtoDAO = produtoDAO;
}
public String paginaProdutos()
{
return "Produtos";
}
public String novoProduto()
{
produto = new Produto();
return "addProduto";
}
public Produto getProduto()
{
return produto;
}
public void setProduto(Produto produto)
{
this.produto = produto;
}
public String inicioAlterarProduto()
{
return "";
//return "alterarProduto";
}
public String fimAlterarProduto()
{
produtoDAO.atualizar(produto);
produtoList = null;
return "produtos";
}
public void excluirProduto()
{
}
}
package br.com.fuctura.model;
import java.util.Date;
public class Produto
{
private int codigo;
private String descricao;
private double preco;
private int quantidade;
private Date dataCadastro;
public int getCodigo()
{
return codigo;
}
public void setCodigo(int codigo)
{
this.codigo = codigo;
}
public String getDescricao()
{
return descricao;
}
public void setDescricao(String descricao)
{
this.descricao = descricao;
}
public double getPreco()
{
return preco;
}
public void setPreco(double preco)
{
this.preco = preco;
}
public int getQuantidade()
{
return quantidade;
}
public void setQuantidade(int quantidade)
{
this.quantidade = quantidade;
}
public Date getDataCadastro()
{
return dataCadastro;
}
public void setDataCadastro(Date dataCadastro)
{
this.dataCadastro = dataCadastro;
}
}
package br.com.fuctura.dao;
import br.com.fuctura.model.Produto;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class ProdutoDAO {
private Connection con;
public ProdutoDAO() throws SQLException {
Conexao conexao = new Conexao();
this.con = conexao.getConexao();
//new Conexao().getConexao();
}
public void inserir(Produto produto) {
try {
String sql = "insert into produto"
+ " (codigo, descricao, preco, quantidade, data_cadastro)"
+ "values (?,?,?,?,?)";
PreparedStatement stm = con.prepareStatement(sql);
stm.setInt(1, produto.getCodigo());
stm.setString(2, produto.getDescricao());
stm.setDouble(3, produto.getPreco());
stm.setInt(4, produto.getQuantidade());
java.sql.Date dataBanco = new java.sql.Date(
produto.getDataCadastro().getTime());
stm.setDate(5, dataBanco);
stm.execute();
// con.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
public void atualizar(Produto produto) {
try {
String sql = "update produto set descricao = ?, preco = ?, "
+ "quantidade = ? where codigo = ?";
PreparedStatement stm = con.prepareStatement(sql);
stm.setString(1, produto.getDescricao());
stm.setDouble(2, produto.getPreco());
stm.setInt(3, produto.getQuantidade());
stm.setInt(4, produto.getCodigo());
stm.execute();
// con.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
public void excluir(Produto produto) {
try {
String sql = "delete from produto where codigo = ?";
PreparedStatement stm = con.prepareStatement(sql);
stm.setInt(1, produto.getCodigo());
stm.execute();
// con.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
public List<Produto> pesquisarTodos() {
try {
List<Produto> produtoList = new ArrayList<Produto>();
String sql = "select * from produto";
PreparedStatement stm = con.prepareStatement(sql);
ResultSet rs = stm.executeQuery();
while (rs.next()) {
Produto produto = new Produto();
produto.setCodigo(rs.getInt("codigo"));
produto.setDescricao(rs.getString("descricao"));
produto.setPreco(rs.getDouble("preco"));
produto.setQuantidade(rs.getInt("quantidade"));
produto.setDataCadastro(rs.getDate("data_cadastro"));
produtoList.add(produto);
}
// con.close();
return produtoList;
} catch (SQLException ex) {
ex.printStackTrace();
return null;
}
}
}
package br.com.fuctura.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Conexao
{
public Connection getConexao() throws SQLException
{
String url = "jdbc:derby://localhost:1527/bancodedados";
String usuario = "root";
String senha = "root";
return DriverManager.getConnection(url, usuario, senha);
}
}
O bando de dados que estou usando é Java DB.
Se alguém puder me ajudar a desvendar este mistério, agradeceria muito…

