天天看點

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

O2OA開發日志(報錯總結)

提示:記錄學習O2OA中遇到的大大小小的問題

文章目錄

  • O2OA開發日志(報錯總結)
  • 一、學習記錄
    • 1. 正常三步驟
    • 2. 架構結構分析
    • 3. 學習factory中的jap查詢
    • 4. 插入資料
    • 5. Wi與Wo
    • 5. 實體類
    • 6. 多子產品怎麼實作的?
    • 7. 新增一個完整的實體(增删改查)
      • com.x.yxapp.core.entity包
      • com.x.yxapp.assemble.control
    • 8. 為一個實體添加功能接口
  • 二、報錯:加入新的jar和war後,無法啟動伺服器
    • 問題描述:
    • 原因分析:
    • 解決方案:
  • 三、報錯:調用get方法,出現空指針異常
    • 問題描述:
    • 原因分析:
    • 解決方案:
  • 四、報錯:不影響程式在伺服器的運作
    • 問題描述:
    • 原因分析:
    • 解決方案:
  • 五、報錯:
    • 問題描述:
    • 原因分析:
    • 解決方案:
  • 六、報錯:
    • 問題描述:
    • 原因分析:
    • 解決方案:
  • 七、報錯:
    • 問題描述:
    • 原因分析:
    • 解決方案:

一、學習記錄

1. 正常三步驟

  1. 了解需求,學習相關技術
  2. 代碼實作,得到正常步驟
  3. 提取相同點和不同點,制作代碼生成器

2. 架構結構分析

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

控制層

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

一個檔案夾對應一張表

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

這個裡面就是對資料庫的增删改查

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

在idea中運作debug,進行遠端調試

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

實體類Student

Student類的标準元模型類的名字是 Student_

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

3. 學習factory中的jap查詢

  1. EntityManager

    EntityManager是JPA中用于增删改查的接口,它的作用相當于一座橋梁,連接配接記憶體中的java對象和資料庫的資料存儲。

  2. CriteriaBuilder

    CriteriaBuilder是一個工廠類,是一個工廠對象,安全查詢的開始,用于建構JPA安全查詢,用來建立安全查詢的criteriaQuery對象。

  3. CriteriaQuery

    CriteriaQuery 安全查詢主語句,該對象是用來建構查詢的。

  4. Root

    Root 定義查詢的From子句中能出現的類型

  5. Predicate

    Predicate查詢條件的拼接對應于where後面的添加表達式。

  6. 舉例說明

4. 插入資料

  1. save方法對資料庫的插入操作比較直接,立刻生成insert語句将對象插入資料庫,并傳回主鍵值;
  2. persist方法則會延遲插入資料,且沒有傳回值。persist在事務外部被調用時,不會觸發insert語句。在事務内和save方法類似。
protected ActionResult<Wo> execute( HttpServletRequest request, EffectivePerson effectivePerson, JsonElement jsonElement ) throws Exception {
		ActionResult<Wo> result = new ActionResult<>();
		Wi wi = this.convertToWrapIn( jsonElement, Wi.class );
		if( StringUtils.isEmpty( wi.getName() )) {
			throw new ExceptionStudentEntityClassNameEmpty();
		}
		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
			Student student = Wi.copier.copy( wi );
			//啟動事務
			emc.beginTransaction( Student.class );
			//校驗并持久化對象
			emc.persist(student, CheckPersistType.all );
			//送出事務
			emc.commit();

			Wo wo = new Wo(student.getId());
			result.setData(wo);
		}
		return result;
	}
           

5. Wi與Wo

/**
	 * 用于接受前端傳入的對象型參數的幫助類
	 *
	 */
	public static class Wi extends Student {

		public static WrapCopier<Wi, Student> copier = WrapCopierFactory.wi( Wi.class, Student.class, null, JpaObject.FieldsUnmodify );

	}

	/**
	 * 用于輸出響應内容的幫助類
	 *
	 */
	public static class Wo extends WoId {
		public Wo( String id ) {
			setId( id );
		}
	}
           

5. 實體類

簡單說明一下注解的作用

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

varchar(50)(可以為空)

public static final String name_FIELDNAME = "name";
	@FieldDescribe("檔案名稱.")
	@Column(length = length_255B, name = ColumnNamePrefix + name_FIELDNAME)
	@Index(name = TABLE + IndexNameMiddle + name_FIELDNAME)
	@CheckPersist(allowEmpty = false)
	private String name;
           

char(1)

//    `kslb` char(1) DEFAULT NULL COMMENT '考生類别碼',
    public static final String kslb_FIELDNAME = "kslb";
    @FieldDescribe("畢業類别碼.")
    @Column(length = length_2B, name = ColumnNamePrefix + kslb_FIELDNAME)
    @Index(name = TABLE + IndexNameMiddle + kslb_FIELDNAME)
    @CheckPersist(allowEmpty = true)
    private String kslb;

           

datatime(可以為空)

public static final String actualCompletedTime_FIELDNAME = "actualCompletedTime";
	@FieldDescribe("實際結束時間.")
	@Temporal(TemporalType.TIME)
	@Column(name = ColumnNamePrefix + actualCompletedTime_FIELDNAME)
	@Index(name = TABLE + IndexNameMiddle + actualCompletedTime_FIELDNAME)
	@CheckPersist(allowEmpty = true)
	private Date actualCompletedTime;
           

boolean(可以為空)

public static final String manualCompleted_FIELDNAME = "manualCompleted";
	@FieldDescribe("會議是否手工結束")
	@Column(name = ColumnNamePrefix + manualCompleted_FIELDNAME)
	@Index(name = TABLE + IndexNameMiddle + manualCompleted_FIELDNAME)
	@CheckPersist(allowEmpty = true)
	private Boolean manualCompleted;
           

Double(可以為空)

public static final String price_FIELDNAME = "price";
	@FieldDescribe("價格.")
	@Column(name = ColumnNamePrefix + price_FIELDNAME)
	@CheckPersist(allowEmpty = true)
	private Double price;
           

Integer

public static final String commentCount_FIELDNAME = "commentCount";
	@FieldDescribe("評論數")
	@Column(name = ColumnNamePrefix + commentCount_FIELDNAME)
	@Index(name = TABLE + IndexNameMiddle + commentCount_FIELDNAME)
	private Integer commentCount;
           

ID

public static final String application_FIELDNAME = "application";
	@FieldDescribe("歸屬應用ID.")
	@Column(length = JpaObject.length_id, name = ColumnNamePrefix + application_FIELDNAME)
	@Index(name = TABLE + IndexNameMiddle + application_FIELDNAME)
	@CheckPersist(allowEmpty = false)
	private String application;
           

6. 多子產品怎麼實作的?

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

我的第一個猜想應該是這裡進行部署

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

好家夥,結果是這樣的

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

基于這個報錯資訊,我又有了新的猜測

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

果然是這個我的路徑忘了修改才導緻兩個Action的路徑沖突了!!!它終于出現了!!!!

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

7. 新增一個完整的實體(增删改查)

我采用一個預報到資訊表(yx_new_student),進行示範說明

com.x.yxapp.core.entity包

  1. 編寫entity類:YxNewStudent

    自動生成serialVersionUID

    編寫每個字段(聽說text類型有注解來表示?)

    生成每個字段的 getter() 和 setter()

  2. 在PersistenceProperties中添加類:YxNewStudent
    O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
public static class YxNewStudent {
		public static final String table = "YX_NEW_STUDENT";
	}
           
  1. com.x.yxapp.core.entity包中的操作就是這些,至于 YxNewStudent_ 檔案是編譯之後生成的,無須我們手動添加

com.x.yxapp.assemble.control

  1. 在com.x.yxapp.assemble.control 包中的 jaxrs包 中建立一個檔案夾yxnewstudent ,然後将同級工程模闆中的代碼 copy 到 新檔案夾yxnewstudent
  2. 修改 yxnewstudent 包中的異常類,并且自動生成serialVersionUID
    O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
  3. 在YxNewStudentAction中需要修改 path 路徑,否則就會造成路徑沖突進而産生bug
    O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
  4. 打開Action類 ,按下 ctrl + r 打開替換視窗 把 檔案 的實體類都替換為YxNewStudent
    O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
    替換之後會有一個 小錯誤,隻需要新增一個YxNewStudentFactory類。
    O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
  5. 新增一個YxNewStudentFactory類,打開一個其他的Factory類,copy裡面的内容到YxNewStudentFactory中再進行替換就行,完成後發現business這裡調用方法有錯誤,
    O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
    這裡就需要在Business類中添加如下代碼
    O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
    上一個報錯解決了,發現這裡也缺少了類這個就是我們上一個講的會自動生成的YxNewStudent_
    O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
    現在我們把項目編譯一下 mvn install
    O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
    稍待片刻之後,顯示BUILD SUCCESS 就表示成功啦!!!
    O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
    打開 com.x.yxapp.core.entity 裡面就會有剛剛編譯生成的 YxNewStudent_ ,上面的報錯也得到了解決
    O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
  6. 在x_yxapp_assemble_control類的 containerEntities字元串數組 中 添加 對實體類的引用
    O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
  7. 在ActionApplication類中新增代碼,為了向外提供服務
    O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
  8. 最後再 執行 mvn install,生成 jar 和 war 會在store中,部署到伺服器就OK啦!!!
    O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

8. 為一個實體添加功能接口

二、報錯:加入新的jar和war後,無法啟動伺服器

問題描述:

加入新的jar和war後,無法啟動伺服器

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

重新開機伺服器報錯

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

就把工程模闆一模一樣的整上去,都可以部署成功

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

重新開機還是報空指針異常

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

原因分析:

終于解決了(但是我覺得這不是根本的原因,因為我也有部署成功後,重新開機還是報錯的情況,這裡讓我想起一個細節:之前我都是用stop指令停止服務,後面我就采用exit指令了,不知道是不是因為這個呢。)

解決方案:

部署一直報錯原來是因為順序問題,但是空指針錯誤是因為什麼呢?

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

三、報錯:調用get方法,出現空指針異常

問題描述:

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

原因分析:

工程模闆中有部分代碼功能未使用,導緻報空指針異常

解決方案:

注釋掉不需要的内容

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

四、報錯:不影響程式在伺服器的運作

問題描述:

怎麼說呢,這個是我在檢視代碼邏輯的時候發現的,

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

毛病就是這樣一步一步引出來的

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

原因分析:

我目測是因為構造函數的參數不符合條件導緻的問題,至于為什麼運作沒有報錯,就不得而知了。

解決方案:

暫時沒有解決

五、報錯:

問題描述:

pow檔案中的project一直報錯

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

原因分析:

‘parent.relativePath’ of POM o2oa:o2oa_custom:6.2 (D:\SpringBoo\xgapp\yxapp\pom.xml) points at o2oa:o2oa_custom instead of o2oa:o2server, please verify your project structure

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

原來是因為外面還有一層pow檔案,導緻了指向存在問題,

解決方案:

這裡我直接删掉了最外層的pow檔案

六、報錯:

問題描述:

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

原因分析:

缺少檔案

解決方案:

修改這個檔案的名字,與子產品保持一緻

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

七、報錯:

問題描述:

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:
O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

原因分析:

根據報錯資訊的指引,我去自動生成了serialVersionUID

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

結果是問題還是沒有解決,我發現應該是另外一個serialVersionUID還沒有更改,再試一試!

好家夥還是錯的

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

會不會是沖突了,好吧,不是這個問題,然後又有了新的嘗試

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

依然沒有解決問題,進行修改,應該是還有沒修改完整的地方

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

算是解決了一半吧,應該是缺少另一個entity

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

其實之前就報過這個錯,但是我的關注點錯誤了,導緻一直沒有找到根本的原因

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

現在我把另一個entity添加到containerEntities中,看看是否能解決問題?

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

終于成功解決了這個問題!!!!問題就是出在x_yxapp_assemble_control這個類中

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

抓住一個小細節,ksh這個字段為啥不在了?好家夥,繼續尋找問題

經過對比後發現,ActionGet這個接口中是存在ksh的,但是ActionListAll缺消失了,經過代碼對比分析後我更改了如下代碼:

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

ksh出現了!!!原來這個代碼可以隐藏字段!

O2OA開發日志之學習筆記與報錯總結(持續更新中...)O2OA開發日志(報錯總結)一、學習記錄二、報錯:加入新的jar和war後,無法啟動伺服器三、報錯:調用get方法,出現空指針異常四、報錯:不影響程式在伺服器的運作五、報錯:六、報錯:七、報錯:

解決方案:

将x_yxapp_assemble_control類中的内容補充完整。