# BuildingBlock项目结构
│ error.jsp
│
├─META-INF
│ BBCERT20.RSA
│ BBCERT20.SF
│ MANIFEST.MF
│
└─WEB-INF
│ bb-context-config.properties
│ bb-manifest.xml
│ web.xml
│
├─bundles
│ bb-manifest-ar_SA.properties
│ bb-manifest-cs_CZ.properties
│ bb-manifest-cy_GB.properties
│ bb-manifest-da_DK.properties
│ bb-manifest-de_DE.properties
│ bb-manifest-en_GB.properties
│ bb-manifest-en_SA.properties
│ bb-manifest-en_SC.properties
│ bb-manifest-en_SM.properties
│ bb-manifest-en_US.properties
│ bb-manifest-en_US_k12.properties
│ bb-manifest-en_US_pro.properties
│ bb-manifest-es_ES.properties
│ bb-manifest-fr_FR.properties
│ bb-manifest-it_IT.properties
│ bb-manifest-ja_JP.properties
│ bb-manifest-ko_KR.properties
│ bb-manifest-ms_MY.properties
│ bb-manifest-nb_NO.properties
│ bb-manifest-nl_NL.properties
│ bb-manifest-pl_PL.properties
│ bb-manifest-pt_BR.properties
│ bb-manifest-ru_RU.properties
│ bb-manifest-sv_SE.properties
│ bb-manifest-th_TH.properties
│ bb-manifest-tr_TR.properties
│ bb-manifest-zh_CN.properties
│ bb-manifest-zh_TW.properties
│
├─classes
│ └─blackboard
│ ├─plugins
│ │ └─sb
│ │ │ SbLocalizationUtil.class
│ │ │ SbManager$InstallOptions.class
│ │ │ SbManager.class
│ │ │ SbManagerFactory.class
│ │ │ SbManagerImpl$1.class
│ │ │ SbManagerImpl.class
│ │ │
│ │ ├─maven
│ │ │ MavenDependencyManager$1.class
│ │ │ MavenDependencyManager.class
│ │ │ MavenResourceHolder.class
│ │ │
│ │ ├─response
│ │ │ FailureResponse.class
│ │ │ HelpResponse.class
│ │ │ Response.class
│ │ │ SuccessResponse.class
│ │ │
│ │ ├─servlet
│ │ │ FileReceiverServlet.class
│ │ │
│ │ └─struts
│ │ AbstractInstallAction.class
│ │ HelpAction.class
│ │ InstallAction.class
│ │ InstallReportAction.class
│ │ SharedForm.class
│ │
│ └─web
│ error_jsp.class
│
├─config
│ └─struts
│ struts-config.xml
│
└─lib
aether-api-0.9.0.M3.jar
aether-connector-basic-0.9.0.M3.jar
aether-impl-0.9.0.M3.jar
aether-spi-0.9.0.M3.jar
aether-transport-file-0.9.0.M3.jar
aether-transport-http-0.9.0.M3.jar
aether-transport-wagon-0.9.0.M3.jar
aether-util-0.9.0.M3.jar
cdi-api-1.0.jar
jcl-over-slf4j-1.6.2.jar
jsch-0.1.44-1.jar
jsr250-api-1.0.jar
maven-aether-provider-3.1.0.jar
maven-model-3.1.0.jar
maven-model-builder-3.1.0.jar
maven-repository-metadata-3.1.0.jar
org.eclipse.sisu.inject-0.0.0.M2a.jar
org.eclipse.sisu.plexus-0.0.0.M2a.jar
plexus-classworlds-2.4.jar
plexus-component-annotations-1.5.5.jar
plexus-interactivity-api-1.0-alpha-6.jar
plexus-interpolation-1.16.jar
plexus-utils-3.0.10.jar
sisu-guice-3.1.0-no_aop.jar
wagon-provider-api-1.0.jar
wagon-ssh-1.0.jar
wagon-ssh-common-1.0.jar
- 标准的war包,满足WEB项目规范就行,用ant、maven、gradle构建都可以,甚至最原始的export也行
- 特异性强的jar包,可以放在WEB-INF下,例如国产的阿里系jar包,第三方的SDK等,因为Blackboard是多BuildingBlock集成在一起的,所以肯定会把共同性强的jar包拿到公用的lib下,比如Apache Commons、Guava之类的,这样的话,你项目也有人家也有,可能会因为版本号不同发生冲突
- 做项目时,如果你想把自己的产品卖给更多的Blackboard客户,那么我建议你最好不要用JDK1.8做,因为目前国内外还有很多Blackboard老版本的平台用的是JDK1.6,拿1.6编译的BuildingBlock可以到处装,但是1.8的只能装2016年以后的新平台上了
# BuildingBlock项目最重要的文件
- bb-mainfest.xml 是最重要的,插件类的项目都需要有
- bundles 在WEB-INF下直接建这个文件夹,可与很好的兼容平台自身的多语言
← 前言 bb-manifest.xml →