Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

If

...

you

...

are

...

just

...

installing

...

CAS

...

"as

...

is"

...

it

...

is

...

not

...

necessary

...

to

...

create

...

the

...

source

...

development

...

projects.

...

Simple

...

configuration

...

can

...

be

...

performed

...

using

...

the

...

WAR

...

Overlay

...

mechanism.

...

You

...

create

...

an

...

Eclipse

...

Project

...

to

...

generate

...

a

...

WAR

...

artifact

...

(give

...

it

...

your

...

own

...

group,

...

name,

...

and

...

version),

...

and

...

you

...

make

...

it

...

dependent

...

on

...

the

...

specific

...

JA-SIG

...

CAS

...

WAR

...

artifact.

...

Then

...

you

...

populate

...

the

...

project

...

with

...

any

...

configuration

...

files

...

that

...

have

...

local

...

customizations.

...

When

...

Maven

...

runs,

...

it

...

reads

...

in

...

the

...

JA-SIG

...

WAR

...

file,

...

keeps

...

any

...

files

...

that

...

are

...

not

...

overridden,

...

replaces

...

any

...

files

...

with

...

versions

...

you

...

provided

...

in

...

your

...

project,

...

and

...

then

...

writes

...

out

...

the

...

WAR

...

containing

...

your

...

customizations.

...

However,

...

if

...

you

...

want

...

to

...

work

...

with

...

the

...

CAS

...

3

...

source,

...

then

...

you

...

want

...

to

...

check

...

out

...

that

...

source

...

from

...

the

...

JA-SIG

...

SVN

...

repository

...

and

...

create

...

the

...

Eclipse

...

projects

...

that

...

will

...

allow

...

development.

...

Unfortunately,

...

this

...

never

...

works

...

as

...

expected.

...

There

...

is

...

always

...

something

...

wrong.

...

Sometimes

...

it

...

is

...

an

...

error

...

in

...

the

...

JA-SIG

...

files,

...

and

...

sometimes

...

it

...

is

...

a

...

difference

...

between

...

the

...

way

...

that

...

Eclipse

...

and

...

Maven

...

used

...

to

...

work

...

and

...

the

...

way

...

they

...

work

...

today.

...

If

...

you

...

were

...

hoping

...

for

...

a

...

list

...

of

...

20

...

steps

...

that

...

you

...

can

...

apply

...

without

...

thinking,

...

it

...

won't

...

do

...

you

...

any

...

good.

...

Fortunately,

...

the

...

Maven

...

plugin

...

is

...

perfectly

...

able

...

to

...

rebuild

...

the

...

projects

...

correctly

...

starting

...

from

...

the

...

bare

...

POM,

...

so

...

often

...

the

...

only

...

thing

...

you

...

have

...

to

...

do

...

is

...

scrap

...

an

...

existing

...

incorrect

...

Eclipse

...

project

...

configuration

...

and

...

have

...

a

...

new

...

one

...

rebuilt.

...

The

...

End

...

Result

...

The

...

first

...

step

...

is

...

to

...

describe

...

the

...

target

...

result.

...

Then

...

a

...

sequence

...

of

...

"repair"

...

steps

...

will

...

demonstrate

...

how

...

to

...

clear

...

errors

...

and

...

rebuild

...

the

...

projects

...

to

...

achieve

...

this

...

desired

...

end

...

result.

...

When

...

you

...

start

...

Eclipse,

...

you

...

choose

...

a

...

Workspace

...

directory.

...

The

...

default

...

is

...

the

...

directory

...

{user-home}/workspace

...

but

...

you

...

can

...

choose

...

another

...

name

...

in

...

the

...

startup

...

dialog

...

or,

...

if

...

you

...

have

...

already

...

set

...

some

...

workspace

...

directory

...

to

...

be

...

the

...

default

...

used

...

every

...

time,

...

you

...

can

...

choose

...

an

...

alternative

...

with

...

the

...

File

...

-

...

Choose

...

Workspace

...

menu

...

option.

...

The

...

following

...

process

...

involves

...

some

...

trial

...

and

...

error,

...

so

...

it

...

may

...

be

...

a

...

good

...

idea

...

to

...

start

...

will

...

a

...

new

...

empty

...

test

...

workspace

...

that

...

you

...

can

...

discard

...

and

...

start

...

over.

...

The

...

CAS

...

3

...

source

...

is

...

available

...

from

...

the

...

www.jasig.org

...

Web

...

site

...

as

...

a

...

downloadable

...

zip

...

file.

...

The

...

easiest

...

approach

...

is

...

to

...

expand

...

this

...

zip

...

file

...

in

...

a

...

directory,

...

delete

...

any

...

.project

...

and

...

.classpath

...

files

...

contained

...

in

...

it,

...

and

...

then

...

use

...

this

...

directory

...

as

...

the

...

source

...

of

...

an

...

Eclipse

...

Import

...

(of

...

a

...

directory

...

filled

...

with

...

Maven

...

projects).

...

CAS

...

3

...

can

...

also

...

be

...

checked

...

out

...

from

...

the

...

Subversion

...

repository.

...

This

...

gives

...

you

...

access

...

to

...

the

...

current

...

unreleased

...

code

...

("trunk")

...

and

...

provides

...

developers

...

with

...

the

...

ability

...

to

...

track

...

bug

...

fixes

...

that

...

others

...

have

...

checked

...

in

...

and

...

(for

...

authorized

...

developers)

...

to

...

commit

...

changes.

...

Eclipse

...

can

...

only

...

synchronize

...

with

...

SVN

...

if

...

it

...

checked

...

the

...

source

...

out

...

of

...

the

...

SVN

...

repository

...

before

...

you

...

made

...

any

...

changes.

...

So

...

the

...

first

...

step

...

will

...

be

...

to

...

create

...

a

...

single

...

"cas3"

...

project

...

directory

...

containing

...

all

...

the

...

CAS

...

3

...

source.

...

This

...

directory

...

can

...

be

...

the

...

unzipped

...

download

...

from

...

JA-SIG

...

or

...

it

...

can

...

be

...

checked

...

out

...

from

...

SVN.

...

If

...

this

...

is

...

done

...

right,

...

however,

...

this

...

project

...

will

...

just

...

be

...

a

...

container

...

for

...

everything

...

else.

...

From

...

the

...

Eclipse

...

point

...

of

...

view,

...

it

...

isn't

...

even

...

important

...

that

...

this

...

be

...

regarded

...

as

...

a

...

Java

...

project.

...

It

...

will

...

have

...

no

...

source

...

files,

...

it

...

needs

...

no

...

classpath,

...

and

...

Eclipse

...

will

...

not

...

"build"

...

it.

...

From

...

the

...

Maven

...

point

...

of

...

view,

...

this

...

is

...

a

...

parent

...

project

...

containing

...

a

...

POM

...

that

...

references

...

subproject

...

modules.

...

Each

...

module

...

subdirectory

...

is

...

a

...

Maven

...

project

...

in

...

its

...

own

...

right

...

and

...

current

...

best

...

practice

...

is

...

to

...

create

...

a

...

corresponding

...

Eclipse

...

project.

...

Eclipse

...

will

...

do

...

this

...

automatically

...

if

...

you

...

use

...

the

...

"File

...

-

...

Import

...

...

...

-

...

Maven

...

-

...

Existing

...

Maven

...

Projects"

...

sequence

...

from

...

the

...

menus.

...

If

...

the

...

CAS3

...

project

...

is

...

open,

...

Eclipse

...

will

...

discover

...

the

...

POM

...

files

...

in

...

each

...

of

...

the

...

subdirectories

...

and

...

list

...

each

...

subdirectory

...

as

...

an

...

Eclipse

...

project

...

that

...

it

...

is

...

prepared

...

to

...

generate.

...

Although

...

the

...

Eclipse

...

Project

...

Explorer

...

will

...

list

...

each

...

of

...

these

...

projects

...

as

...

a

...

peer

...

(at

...

the

...

same

...

level)

...

as

...

the

...

cas3

...

project,

...

they

...

are

...

actually

...

subdirectories

...

inside

...

the

...

cas3

...

directory.

...

If

...

you

...

get

...

this

...

structure

...

right

...

(one

...

big

...

"cas3"

...

directory/project

...

containing

...

all

...

the

...

source

...

files

...

but

...

regarded

...

by

...

Eclipse

...

as

...

having

...

no

...

Java

...

source

...

directories

...

to

...

compile,

...

then

...

one

...

project

...

per

...

subdirectory

...

that

...

compiles

...

and

...

builds

...

the

...

source

...

for

...

that

...

one

...

module)

...

then

...

the

...

Eclipse

...

Maven

...

plugin

...

is

...

prepared

...

to

...

get

...

the

...

rest

...

of

...

the

...

Eclipse

...

project

...

configuration

...

right

...

(or

...

close

...

to

...

right)

...

if

...

you

...

take

...

steps

...

to

...

clean

...

up

...

the

...

residue

...

of

...

any

...

misconfiguration

...

left

...

behind

...

by

...

the

...

original

...

JA-SIG

...

files.

...

Check

...

Out

...

Display

...

the

...

SVN

...

Repository

...

Exploiring

...

Perspective

...

(Window

...

-

...

Open

...

Perspective

...

-

...

Other

...

-

...

SVN

...

Repository

...

Exploring).

...

If

...

the

...

JA-SIG

...

repository

...

has

...

not

...

already

...

been

...

added,

...

right

...

lick

...

in

...

the

...

SVN

...

Repositories

...

view

...

and

...

choose

...

New

...

...

...

Repository

...

Location.

...

The

...

URL

...

is

...

https:source.jasign.org

...

and

...

that

...

becomes

...

the

...

name

...

of

...

the

...

Repository.

...

Expand

...

this

...

repository

...

as

...

a

...

tree,

...

expand

...

"cas3".

...

Now

...

decide

...

if

...

you

...

want

...

to

...

work

...

on

...

the

...

unreleased

...

next

...

version

...

of

...

the

...

server

...

("trunk")

...

or

...

one

...

of

...

the

...

numbered

...

previous

...

releases

...

("tags").

...

Expanding

...

"trunk"

...

or

...

one

...

of

...

the

...

"tags"

...

should

...

show

...

a

...

pom.xml

...

file

...

and

...

subdirectories

...

including

...

"cas-server-core".

...

Choose

...

the

...

directory

...

("trunk"

...

or

...

"cas-server-3.4.2")

...

right

...

click,

...

and

...

choose

...

Check

...

Out...

...

Unfortunately,

...

the

...

"cas-server-3.4.2"

...

and

...

earlier

...

releases

...

(but

...

not

...

the

...

"trunk"

...

or

...

later

...

releases)

...

of

...

the

...

CAS

...

server

...

have

...

checked

...

in

...

.project

...

and

...

.classpath

...

files

...

that

...

do

...

not

...

reflect

...

current

...

Eclipse

...

Maven

...

practices.

...

However,

...

there

...

is

...

no

...

option

...

in

...

Eclipse

...

to

...

check

...

out

...

everything

...

except

...

these

...

two

...

files,

...

and

...

when

...

Eclipse

...

checks

...

out

...

a

...

directory

...

containing

...

a

...

.project

...

file

...

it

...

processes

...

it

...

before

...

you

...

can

...

stop

...

it.

...

So

...

the

...

first

...

step

...

after

...

checkout

...

is

...

to

...

undo

...

the

...

incorrect

...

structure

...

they

...

create.