我要改编我的previous question。我们的服务器上有一个网站,由我们的母公司(遍布全球的台湾)使用NetBeans开发。服务器上没有任何东西来自NetBeans,没有引用,构建文件,项目文件或任何东西。只是服务器运行网站所需的必要文件。我被赋予了维护本网站的责任,因为他们不再支持我们。因此,我将整个网站从域文件夹复制/粘贴到我的本地计算机并将其导入我的NetBeans。当我进入源代码时,我得到了一大堆错误。基本上95%的import
语句都是错误的,因为它找不到指定的“符号”,或者包只是“不存在”。
我尝试过使用Project属性 - >我相信源代码试图引用的库和添加库和/或JAR /文件夹。但它似乎没有做到这一点,或者我做得不对。我只需要让这些darn引用工作..这里是有问题的文件(RecordAdd.java)中的import语句的一个小列表:
package asp.easp;
import asp.SessionBean1;
import com.icesoft.faces.component.ext.HtmlCommandButton;
import com.icesoft.faces.component.ext.HtmlCommandLink;
import com.icesoft.faces.component.ext.HtmlDataTable;
import com.icesoft.faces.component.ext.HtmlInputText;
import com.icesoft.faces.component.ext.HtmlInputTextarea;
import com.icesoft.faces.component.ext.HtmlMessage;
import com.icesoft.faces.component.ext.HtmlOutputText;
import com.icesoft.faces.component.ext.HtmlPanelGrid;
import com.icesoft.faces.component.ext.HtmlSelectOneMenu;
import com.icesoft.faces.component.jsfcl.data.DefaultSelectedData;
import com.icesoft.faces.component.jsfcl.data.DefaultSelectionItems;
import com.icesoft.faces.component.jsfcl.data.DefaultTableDataModel;
import com.icesoft.faces.component.jsfcl.data.SelectInputDateBean;
import com.icesoft.faces.component.panelpopup.PanelPopup;
import com.icesoft.faces.component.paneltabset.PanelTab;
import com.icesoft.faces.component.paneltabset.PanelTabSet;
import com.icesoft.faces.component.selectinputdate.SelectInputDate;
import com.icesoft.faces.component.selectinputtext.SelectInputText;
import com.sun.rave.faces.data.DefaultSelectItemsArray;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import java.util.ArrayList;
import java.util.Collection;
import javax.faces.FacesException;
import javax.faces.convert.DateTimeConverter;
import javax.faces.model.ListDataModel;
import util.RecordDetailInfoBean;
import asp.ApplicationBean1;
import asp.RequestBean1;
import com.coretronic.util.DateConvert;
import com.icesoft.faces.component.ext.HtmlSelectOneRadio;
import com.icesoft.faces.component.jsfcl.data.CachedRowSetWrapperDataModel;
import com.icesoft.faces.context.effects.Appear;
import com.icesoft.faces.context.effects.Effect;
import com.sun.data.provider.impl.CachedRowSetDataProvider;
import com.sun.jsfcl.data.CachedRowSetDataModel;
import com.sun.sql.rowset.CachedRowSetXImpl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Calendar;
您可以在上一个问题的链接中看到网站文件层次结构的图片。有人可以帮助我在项目中使用这些参考资料吗?我在JavaEE方面经验很少,所以请假设我什么都不知道,因为我没有。我知道我所提到的东西是我在这个工作一周后找到的东西。我可以提供有关项目的任何其他信息。非常感谢你提前。
答案 0 :(得分:4)
您应该首先确定webapp当前正在运行哪个应用程序服务器。您应该在本地开发环境中拥有相同服务器的副本。可以是Tomcat 6/7,Glassfish 2/3,JBoss AS 5/6或其他内容。 “Java EE”是一个抽象 API,应用程序服务器是一个具体的实现,它包含真正的库,例如javax.*
个库。我不做Netbeans(我是Eclipse用户),所以我不能详细介绍,但你应该至少在IDE中集成应用程序服务器,并将项目作为Java EE项目导入并将其与应用程序关联服务器在那里。这样javax.*
导入就可以了。至少,如果IDE有点聪明。
根据com.sun.rave.*
导入,这是(幸运的是)用于JSF的长期死亡Woodstock组件库的一部分,我猜测 webapp最初是在Netbeans 6.x中开发的(最大6.7)并且该目标应用程序服务器是Glassfish v2。该IDE附带了一个所谓的 Visual JSF Editor ,它允许您将Web UI组件拖放到一起(并生成难以维护的代码)。我建议得到Netbeans 6.7的副本,这是Glassfish 2.1和Woodstock附带的最新版本。您可以下载here。选择第二列中的一个,说“Java”(不是“Java SE”!)。它是238MB。
com.icesoft.faces.*
导入来自IceFaces JSF component library。看到这与Woodstock的进口相结合,我猜测在伍德斯托克去世后,该项目从Woodstock到IceFaces migrated。 IceFaces库(以及所有其他特定于webapp的库)应该可以在/WEB-INF/lib
文件夹中找到。当项目以正确的方式导入时,IDE应已已将所有JAR置于构建路径中的/WEB-INF/lib
文件夹中。同样,我不确定Netbeans,但至少Eclipse(Java EE)会自动完成。
祝好维护项目。如果你还没有碰过Java EE,那绝对不容易。如果你想了解更多关于伍德斯托克的背景信息,请查看我对这个问题的回答:Where is Visual Web Editor for JavaServer Faces on Netbeans最后但并非最不重要的是,我强烈建议暂停大约半年或更长时间并使用简单的Java EE教程/ examples / projects首先让你获得更好的整体想法。从零开始到JSF是一个相当陡峭和漫长的轨迹。我建议你自己完成Java EE web development, where do I start and what skills do I need?